我正在使用 Castle Monorail & NVelocity View Engine。我有以下模型:
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]);
}
);
选择数据绑定=“值:dto.referralReason,选项:referralReasonOptions.Options,optionsText:'DisplayName',optionsValue:'Id'">
如果 dto.referralReason(或 $dto)为空,则 sampleModel.showOtherReason 将触发一次并提醒 Id。奇怪的是,如果 $dto 不为空,则 sampleModel.showOtherReason 执行两次并弹出两个警报,第一个警报显示“1405”,这是正确的,但随后它会触发另一个“未定义”警报。如果有任何数据,有谁知道它会触发两次?谢谢。