当我将computed
属性添加到viewModel时,我的绑定不再起作用了。没有computed
属性我没有问题。我的代码:
var orgData = @Html.Raw(Json.Encode(Model));
var viewModel = {
myData: ko.observable(orgData) ,
displayTag: ko.computed(function() {
return "(" + orgData.Tag + ")";
}, this)
};
ko.applyBindings(viewModel);
并在html中,我的绑定如下:
data-bind="text: myData.SerialNumber"
即使JSON数据看起来很好,该值也是undefined
。
有什么建议吗?
答案 0 :(得分:0)
由于这是一个计算的observable,所以将你的计算函数重写为:
displayTag: ko.computed(function(){
var data = this.myData();
return "(" + data.Tag + ")";
}, this)
这样,如果myData更新,您的计算机将更新。目前,情况并非如此。
如果您仍然在显示屏中看到未定义,请验证data.Tag
是否有值。