在繼續KnockoutJS 1.2.1(無法切換到2,或相信我我會)中,我有一個非常奇怪的行爲。KnockoutJS渲染後從viewModel檢索數據
基本上,我在模板上設置了一個渲染後渲染。在渲染後,我需要從我的viewModel檢索數據。當我試圖通過render函數中的viewModel.stuff()從它獲取數據時,發生了一個strrrange行爲。它似乎在多次調用渲染或其他東西。
這裏是代碼...
var viewModel = {
stuff: ko.observableArray([{ id : 1, name : 'Thing'},
{ id: 2, name : 'Thingier' },
{ id : 3, name : 'Thingiest' }])
};
window.render = function(el){
// This line does weird stuff!!
// Observe the console with and without it
// All I want to do is get my stuff...
var stuff = viewModel.stuff();
console.log(el);
};
var update = function(){
console.log(viewModel);
viewModel.stuff.push({ id : 4, name : 'Thingiestest' });
};
$(function(){
ko.applyBindings(viewModel);
$("#add").click(function(){
update();
});
});
這裏是小提琴...
http://jsfiddle.net/jcreamer898/wZ5bD/
剛剛嘗試註釋掉VAR東西= viewModel.stuff()在渲染功能並在單擊按鈕時觀察控制檯日誌中的差異。
欣賞這裏的任何幫助,因爲我知道這個有點奇怪!
你達人......謝謝!這有助於...... – jcreamer898 2012-01-31 21:17:34