2013-04-22 81 views
0

我有如下的圖模型:語法一個視圖模型可觀察特性的不可觀測屬性綁定在knockout.js

function foo(param){ 

    this.prop = param; 

}; 

var viewModel = function(){ 

    this.foo = ko.observable(); 

}; 

並在視圖

<input type="text" data-bind="value: foo.prop" /> 
在視圖

,當我使用的語法

<span data-bind="text: foo.prop" ></span> 

它說明不了什麼,並已更新,但與

沒反應
<div data-bind="with: foo" > 
    <span data-bind="text: prop" ></span> 
</div> 

它的工作原理和值發生了變化。

首次執行有什麼問題?

回答

1

在您的視圖模型,如果你使用的是一些變量,它是另一個對象,我認爲你在該對象定義的標記更是例如變量觀察到的.. 你可以做這樣的事情:

function FooClass(param) { 
    this.prop = ko.observable(param); 
}; 

function viewModel() { 
    this.foo = new FooClass('Hello World'); 
}; 
ko.applyBindings(new viewModel()); 

jsfiddle example

+0

謝謝你的回答。我只是給屬性添加了一個默認值(this.foo = ko.observable(「」)),它開始工作! – 2013-04-22 18:18:54