ko可观察不显示价值

时间:2014-03-06 21:27:50

标签: javascript mvvm knockout.js ko.observablearray

我在视图模型中声明了一个ko可观察变量

        selectedResource: {
            func: ko.observable
        },

在javascript中访问此变量。此代码工作正常,并在浏览器日志中显示变量值

loadResourceMethodsAction: function(resource){
            console.log("Load Methods Action");
            this.bindings.selectedResource(resource);
            console.log(this.bindings.selectedResource().displayName());
            console.log(this.bindings.selectedResource().description());
            console.log(this.bindings.selectedResource().relativeUri());
        }

然而,当我尝试读取相同的变量时,我的DUST模板。它无法阅读。

<p>TODO Methods</p>
<p>Selected Resource:</p>
<p>Display Name:<span data-bind="text: selectedResource.displayName"></span></p>
<p>Description :<span data-bind="text: selectedResource.description"></span></p>
<p>Relative URI:<span data-bind="text: selectedResource.relativeUri"></span></p>

我尝试将attachment()附加到selectedResource和displayName,但它仍然不起作用。

1 个答案:

答案 0 :(得分:2)

我想你忘了给它打电话。

func: ko.observable

将func设置为实际的ko.observable函数;它不会调用函数来实际创建一个knockout observable属性。

只需将其更改为

即可
func: ko.observable()

func: ko.observable(<default value>)

那就是说,你确定你不想要以下吗?

selectedResource: ko.observable()