2013-04-29 20 views
0

您好我似乎有與KO陣列綁定不適用的問題。這裏是我的代碼:KO數組綁定不適用?

var movements_array = []; 
var viewModel = { 
    movements: ko.observableArray(movements_array), 
}; 
$(document).ready(function(){ 
    ko.applyBindings(viewModel); 
}); 

function get_alteration_movement(){ 

    for(var i = 0; i < index.movements.length; i++) 
    { 
     movements_array[i] = index.movements[i].description; 
     console.log(movements_array); 

     viewModel.movements(movements_array); 
     console.log(viewModel.movements); 
    } 

} 

指數是JSON數據從另一個JS網頁牽強。

+0

你的代碼工作以及在小提琴 - http://jsfiddle.net/88jkU/。你有沒有得到任何錯誤? – 2013-04-29 07:08:14

+1

@ArtemVyshniakov在確定什麼樣的索引應該看起來像你的技能印象深刻:) – basarat 2013-04-29 07:16:27

回答

0

至於我,我通常使用的功能,而不是對象常量,它更清晰: Difference between knockout View Models declared as object literals vs functions

var viewModel = function(){ 
    this.movements = ko.observableArray([]); 
}; 

$(document).ready(function() { 
    var model = new viewModel(); 
    ko.applyBindings(model); 
    get_alteration_movement(model); 
}); 

function get_alteration_movement(model) { 
    var movements_array = []; 
    for (var i = 0; i < index.movements.length; i++) { 
     movements_array[i] = index.movements[i].description; 
     console.log(movements_array); 
    } 

    model.movements(movements_array); 
}