2014-03-06 132 views
1

我有一個視圖模型KO可觀察到的不顯示值

 selectedResource: { 
      func: ko.observable 
     }, 

此變量被的JavaScript內訪問中聲明的可觀察到的KO變量。此代碼工作正常,並顯示布勞爾內的變量值登錄

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> 

我試着attach()既selectedResource和displayName,但它仍然無法正常工作。

回答

2

我想你忘了叫它。

func: ko.observable 

將func設置爲實際的ko.observable函數;它不會調用函數來實際創建一個挖空的可觀察屬性。

只是將其更改爲

func: ko.observable() 

func: ko.observable(<default value>) 

這就是說,你確定你不想以下?

selectedResource: ko.observable() 
+0

我終於搞定了。不知道它是否正確或不正確 'selectedResource:{func:function(){ return ko.observable(0); } },' 然後我使用'selectedResource()。displayName' –

+0

@Vinit訪問變量 - 我看不出如何可能工作,雖然我肯定會錯過一些東西。再次,我想你只需要'selectedResource:ko.observable(0)' –

相關問題