0

computed当我将属性添加到我的视图模型时,我的绑定不再起作用。没有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"

该值undefined甚至被认为 JSON 数据看起来不错。

有什么建议么?

4

1 回答 1

0

由于这是一个计算的 observable,请将您的计算函数重写为:

displayTag: ko.computed(function(){
   var data = this.myData();
   return "(" + data.Tag + ")";
}, this)

这样,如果 myData 更新,您的计算就会更新。目前,情况并非如此。如果您仍然在显示中看到未定义,请验证是否data.Tag有值。

于 2013-05-15T20:03:23.183 回答