我有以下非常简单的代码示例来测试div的条件显示。由于某种原因,它无法正常工作,我想知道是否有人遇到过它。我正在使用淘汰赛3.0.0.js.
这是我的HTML
<div data-bind="if: displayDetail">
HERE IS THE DETAIL <label data-bind="text: displayDetail"></label>
</div>
<div data-bind="ifnot: displayDetail">
THERE IS NO DETAIL <label data-bind="text: displayDetail"></label>
</div>
<button data-bind='click: flip'>Flip</button>
这是我的Javascript
function BooleanViewModel() {
var self = this;
self.displayDetail = ko.observable(false);
// Operations
self.flip = function() {
//alert("val is " + self.displayDetail);
if(self.displayDetail){
self.displayDetail = false;
}else{
self.displayDetail = true;
}
};
}
ko.applyBindings(new BooleanViewModel());
请让我知道是否看到我错过的任何内容
最佳答案
每个observable是一个函数,因此要获取或设置值,您应该使用()
:
self.flip = function() {
//alert("val is " + self.displayDetail());
if(self.displayDetail()){
self.displayDetail(false);
}else{
self.displayDetail(true);
}
};