這裏是JS:觀察到數組的長度總是零
var view = function(){
self.arry = ko.observable();
self.arry(ko.mapping.fromJS([{prop:'Test'},{prop:'Test'}]));
console.log(self.arry().length);
}
var v = new view();
可觀察到的陣列長度始終爲零。我如何得到正確的長度?
編輯:
更新了JS並修復了錯誤。 http://jsfiddle.net/eRHTv/
var view = function(){
var self = this;
self.arry = ko.observableArray();
self.load_items = function(){
setTimeout(function(){
self.arry(ko.mapping.fromJS([{prop:'Test'},{prop:'Test'}]));
}, 100);
}
self.no_items_visible = ko.computed(function(){
return (self.arry().length == 0);
});
self.load_items();
ko.applyBindings(self);
}
var v = new view();
當你運行這個,沒有項目的div將始終是可見的,如果你做self.arry =數據,視圖將不會更新。
有很多事情遺漏或錯誤 - 你應該看看knockoutjs.com的互動教程 – Niko 2012-04-15 14:41:00
問題可能不會幫助未來的訪問者。我正在投票結束。 – nes1983 2012-04-15 14:48:28