为什么在这种情况下,绑定在淘汰赛中不起作用

Why doesn't binding work in knockout in this case?

本文关键字:不起作用 淘汰赛 这种情况下 为什么 绑定      更新时间:2023-09-26

我有一个视图模型:

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

我有一个视图模型作为:

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 总是显示,即使Model.Test().Actions是在 Ajax 请求之后设置的,我的div 也永远不会隐藏自己。

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

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