我在视图模型中声明了一个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,但它仍然不起作用。
答案 0 :(得分:2)
我想你忘了给它打电话。
func: ko.observable
将func设置为实际的ko.observable函数;它不会调用函数来实际创建一个knockout observable属性。
只需将其更改为
即可func: ko.observable()
或
func: ko.observable(<default value>)
那就是说,你确定你不想要以下吗?
selectedResource: ko.observable()