Castle Monorail&NVelocityViewEngineを使用しています。私は次のモデルを持っています:
var sampleModel ;
jQuery(function () {
var mappings = {
'DateSent': ko.utils.dateConversionFunc()
};
sampleModel = {
dto: ko.mapping.fromJS($dto, mappings),
ReasonOtherId: $reasonOtherId,
referralReasonOptions: $reasonOptions //$reasonOptions is a Json list
};
sampleModel.showOtherReason = ko.dependentObservable(function () {
alert(this.dto.referralReason());
return this.dto.referralReason() == this.ReasonOtherId;
}, sampleModel);
ko.applyBindings(sampleModel, jQuery('#referralContainer')[0]);
}
);
select data-bind = "value:dto.referralReason、options:referralReasonOptions.Options、optionsText:'DisplayName'、optionsValue:'Id'">
dto.referralReason(または$ dto)が空の場合、sampleModel.showOtherReasonが1回起動し、IDを警告します。奇妙なことに、$ dtoが空でない場合、sampleModel.showOtherReasonが2回実行され、2つのアラートがポップアップします。最初のアラートは正しい「1405」を示しますが、その後、「未定義」の別のアラートを発生させます。データがある場合、誰かがそれが2回発火していることを知っていますか?ありがとう。