我正在尝试扩展一个实体来创建一个需要导航属性的计算observable:
app.domain.indicador = function () {
this.ValorMetaActual = ko.computed({
read: function () {
console.log(this.ValoresMeta); //navigation property: undefined
return 0;
},
deferEvaluation: true
}, this);
};
问题是当创建observable时,导航属性尚不存在。
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
这是一个错误,已在v 0.76.3中修复。如果这可以解决您的问题,请告诉我们。 ......谢谢你的发现。
答案 1 :(得分:0)
我假设问题是您的计算值显示在页面的某个位置 - 并且显示为未定义。如果您使导航属性(this.ValoresMeta
)成为可观察对象,则Knockout将在最终分配ValorMetaActual
时更新ValoresMeta
的显示值。
app.domain.indicador = function () {
this.ValoresMeta = ko.observable(0);
this.ValorMetaActual = ko.computed({
read: function () {
console.log(this.ValoresMeta());
return 0;
},
deferEvaluation: true
}, this);
};
上面的代码将0
指定为ValoresMeta的默认值。您可能需要一些其他默认值,但是您应该有一些默认值,这样您的计算就不会以未定义的方式结束。