2013-04-17 225 views
2

被敲除可觀察到的陣列只有當這個元素本身可觀察到的對數組中改變一個元素更新的淘汰賽,我想「推」的元素到可觀察到的數組,但使它觀察到的。我曾嘗試下面的語句,但兩者的結果在具有可觀察到的我的數組未定義的值:推可觀察到淘汰賽觀察到的陣列

viewModel.myObservableArray.push(ko.observable()); 

viewModel.myObservableArray.push(new ko.observable()); 

什麼是正確的方法呢?

+0

不是真正。當observable數組中的元素被添加或刪除時,可觀察數組會更新(元素本身不需要是可觀察的)。如果你想推一個observable,那麼你需要做viewModel.myOBservableArray.push(ko.observable('some value')),如果它是字符串或viewModel.MyObservableArray.push(ko.observable({id:1,name: 'something'})) –

回答

2

讓你想放什麼在模型中的對象這樣

function MyObject(initValuye){ 
var self = this; 
    var value = ko.observable(initValuye); 
} 

在模型中

viewModel.myObservableArray.push(new MyObject(someValue)); 
+1

謝謝,這確實有用,但我試圖做出來不必做出一個對象。 –

0

你可以嘗試這樣也

viewModel.myObservableArray.push(ko.observable("Test")); 

viewModel.myObservableArray.push(new ko.observable("Test"));