如果函数返回true,则绑定div

时间:2017-04-04 13:30:17

标签: javascript jquery html knockout.js

仅当函数返回true时如何绑定元素;

<label class="hello" data-bind="if: myFunction">Hello World</label>

function myFunction(n){
    if(n==2) return true;
}

它可见也函数返回false

1 个答案:

答案 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;
});