仅当函数返回true时如何绑定元素;
<label class="hello" data-bind="if: myFunction">Hello World</label>
function myFunction(n){
if(n==2) return true;
}
它可见也函数返回false
答案 0 :(得分:1)
if
绑定适用于元素的内容。如果您希望元素本身消失而不仅仅是其中的文本,您需要将标签包装在其他内容中并将绑定应用于包装器。您也可以使用虚拟绑定。
<--ko if: myFunction-->
<label class="hello">Hello World</label>
<!--/ko-->
此外,为了使您的函数正确更新,它必须是计算属性而不是正常函数,并且n
必须是可观察的。
var n = ko.observable();
myFunction = ko.computed(function(){
if(n()==2) return true;
});