尽管所有可能的paranthesis组合,可见绑定正在评估错误的值!
我的ViewModel如下:
function ViewModel() {
this.current_convo = ko.observable(new Message(false));
}
function Message (val) {
this.archived = ko.observable(val);
}
我的HTML读取
<button data-bind="visible: (current_convo().archived == false)">Archive</button>
我也尝试过使用
<button data-bind="visible: !(current_convo().archived)">Archive</button>
我确定我错过了一些东西,却无法将手指放在上面!
答案 0 :(得分:2)
第一个赢了,因为archived
是一个可观察的 - 它可以评估为false
,但它本身不是false
。第二个不会工作,再次因为你否定了可观察性,而不是它的价值。
这应该有效:
<button data-bind="visible: !current_convo().archived()">Archive</button>