[英]Data binding issue with knockout and revealing module pattern
使用显示模块模式时,我无法获取数据绑定以使用Knockout。
我的JavaScript是这样的
var HMS = HMS || {};
$(function () {
HMS.PatientModel = function () {
this.Patient_Name = ko.observable();
this.Patient_Address = ko.observable();
};
HMS.PatientViewModel = function () {
var patient = ko.observable(),
loadPatient = function () {
patient = new HMS.PatientModel();
patient.Patient_Name("Premkumar");
};
return {
patient: patient,
loadPatient: loadPatient
};
} ();
HMS.PatientViewModel.loadPatient();
ko.applyBindings(HMS.PatientViewModel);
});
我无法获取数据绑定以正确使用患者姓名。 HTML div标签具有data-bind="text:patient.Patient_Name"
。
请参考jsFiddle中的代码http://jsfiddle.net/stprem/pp9ym/1/ 。 如果您能告诉我我在数据绑定中做错了什么,我将不胜感激。
在loadPatient
函数中,您将patient
变量替换为新对象,但是模块已返回对原始可观察对象的引用。 因此,以这种方式更新它不会更新对象返回的内容。
这是一个选项: http : //jsfiddle.net/rniemeyer/pp9ym/6/
基本上,您可以使patient
保持可观察状态,然后在loadPatient
函数中对其进行更新。 在您看来,使用with
绑定可以帮助防止对象为null,以防您要在调用ko.applyBindings
之后加载它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.