ObservableArray没有按预期工作

时间:2016-12-24 19:11:47

标签: javascript html knockout.js

我是knockout.js的新手(昨天刚拿起来),但是我建议我这样做。

我的困境是:

  • 我将以下“initialData”设置为json数组:

    $( "#button" ).click(function() {
        $( ".wrapper" ).load( "test.html" );
    });
    
  • 后面是以下(简单)模型:

    var initialData = [
    {
        id: 0,
        pcName: "Test1"
    },
    {
        id: 1,
        pcName: "Test2"
    },
    {
        id: 2,
        pcName: "Test3"
    },
    {
        id: 3,
        pcName: "Test4"
    },
    {
        id: 4,
        pcName: "Test5"
    }
    ];
    
  • 并按原样应用我的绑定:

    var PCModel = function (pcs) {
    var self = this;
    
    self.pcsList = ko.observableArray(ko.utils.arrayMap(pcs, function (pc) {
        return { id: pc.id, pcName: pc.pcName };
    }));
    
  • 然后我尝试遍历我的(应该是什么)ko.applyBindings(new PCModel(initialData));

    pcsList

然而,似乎没有任何事情发生。我似乎无法弄清楚原因。

请帮忙。

1 个答案:

答案 0 :(得分:2)

对于任何可能在这里绊倒的人,我的问题是在文档准备好之后根本没有调用applyBindings。将其包裹在$("document").ready(...中解决了问题。