Javascript 可观察到的未显示价值

Javascript 可观察到的未显示价值,javascript,mvvm,knockout.js,ko.observablearray,Javascript,Mvvm,Knockout.js,Ko.observablearray,我在视图模型中声明了一个ko可观测变量 selectedResource: { func: ko.observable }, 正在javascript中访问此变量。此代码工作正常,并在浏览器日志中显示变量值 loadResourceMethodsAction: function(resource){ console.log("Load Methods Action"); this.bindi

我在视图模型中声明了一个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>
TODO方法

所选资源:

显示名称:

说明:

相对URI:


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

我想你忘了调用它

func: ko.observable
将func设置为实际的ko.可观察函数;它不会调用函数来实际创建一个敲除可观察属性

把它改成

func: ko.observable()


我终于让它工作了。不确定它是否正确
selectedResource:{func:function(){return ko.observable(0);}},
然后我使用
selectedResource().displayName
@Vinit访问变量-我看不出这可能是如何工作的,虽然我肯定会错过一些东西。同样,我认为您只需要
selectedResource:ko.observable(0)
func: ko.observable(<default value>)
selectedResource: ko.observable()