0

我在我的应用程序中使用 JavaScript 模块模式。这是我的 html 绑定

<a href="#" data-bind="visible:master.child.showDeleteLink,click: function(obj, event) { master.child.showDeletePopup() } ">

我的视图模式是

    master.child=(function (my, jQuery, ko) {
    var textTemp;
    my.ViewModel = function () {
    self.showDeleteLink = ko.observable();
        self.showDeleteLink = function () {
            if (textTemp.length > 500)
                return true;
            else
                return false;
       }
    ko.applyBindings(my.anothermodule);
    } 
}(master.child, $, ko));

单击绑定,html 是文本工作得很好:)。

但是可见性绑定不起作用。任何机构有任何想法吗?我在哪里错了吗?

4

2 回答 2

0
my.ViewModel = function () {
    self.showDeleteLink = ko.observable();
        self.showDeleteLink = function () {
            if (textTemp.length > 500)
                return true;
            else
                return false;
       }

您的“self.showDeleteLink”不再可见。你给它一个新的价值,成为功能。

我认为您正在寻找的是一个计算值: http: //knockoutjs.com/documentation/computedObservables.html

self.showDeleteLink = ko.computed(function() {
        return (textTemp.length > 500);
    });
于 2013-04-17T12:32:07.237 回答
0

将绑定更改为data-bind="visible:master.child.showDeleteLink()现在它工作得很好

于 2013-04-17T12:07:28.363 回答