1

我正在尝试扩展一个实体以创建一个需要导航属性的计算 observable:

app.domain.indicador = function () {
    this.ValorMetaActual = ko.computed({
        read: function () {
            console.log(this.ValoresMeta); //navigation property: undefined
            return 0;
        },
        deferEvaluation: true
    }, this);
};

问题是当创建 observable 时,导航属性还不存在。

我能做些什么来解决这个问题?

4

2 回答 2

1

这是一个错误,已在 v 0.76.3 中修复。如果这能解决您的问题,请告诉我们。...感谢您找到它。

于 2012-12-12T01:28:02.923 回答
0

我假设问题是您的计算值显示在页面上的某处 - 并且显示为未定义。如果您将导航属性 ( ) 设为可观察的,则 Knockout 将更新最终分配时this.ValoresMeta的显示值。ValorMetaActualValoresMeta

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 的默认值。您可能需要一些其他默认值,但您应该有一些默认值,以便您的计算不会以未定义的方式结束。

于 2012-12-11T17:02:39.890 回答