在这种情况下,为什么没有绑定工作在淘汰赛?

时间:2012-06-03 18:26:17

标签: javascript jquery knockout.js

我有一个我的ViewModel:

Models.DayP = function (data) {
    var self = this;

    this.Mapping = {
        'Actions': {
            create: function (options) {
                return new App.Models.Action(self, options.data);
            }
        }
    };
}

我有一个ViewModel:

MPViewModel = function () {
      this.Model = {};
   this.Model.Test = ko.observable();

   //ajax request made below to set the data. Testis type of Models.DayP
}

我将设置绑定为:

<div data-bind="visible: Model.Test().Actions.length <= 0" style="display:none;"> </div>

问题是这个div总是显示即使在Ajax请求之后设置了Model.Test().Actions,我的div也永远不会隐藏自己。

1 个答案:

答案 0 :(得分:2)

尝试将Actions作为函数调用以获取底层数组:

<div data-bind="visible: Model.Test().Actions().length <= 0" style="display:none;"> </div>