我在我的应用程序中使用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文本工作得很好:)。
但是visiblity绑定不起作用。任何人都有任何想法?我错了吗?
答案 0 :(得分:0)
更改绑定到data-bind="visible:master.child.showDeleteLink()
现在它的工作非常好
答案 1 :(得分: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);
});