【问题标题】:KO Array binding not applying?KO 数组绑定不适用?
【发布时间】:2013-04-22 18:03:36
【问题描述】:

嗨,我似乎遇到了 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);
    }

}

索引是从另一个 js 页面获取的 JSON 数据。

【问题讨论】:

  • 您的代码在小提琴中运行良好 - jsfiddle.net/88jkU 。你有什么错误吗?
  • @ArtemVyshniakov 对您确定索引应该是什么样子的技能印象深刻 :)

标签: jquery arrays json knockout.js


【解决方案1】:

就我而言,我通常使用函数而不是对象字面量,这更清楚: 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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 2012-09-18
    • 2019-01-09
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多