ko 中if 和visible 的区别

visible和if binding都可以控制某个组件动态显示与否,

总结一下二者的异同:

与visible binding类似,都可以控制一段内容是否出现在页面中。 

与visible不同的是,if binding是真正的控制Html标签是否出现在DOM中,如果绑定的值为false,则Html标签不会出现在页面中。 

if绑定会修改DOM结构,所以出于性能考虑,不应该频繁修改if的绑定值。(这种情况应该使用visible binding) 

如果与observable或者computed属性绑定,则会产生双向绑定效果。

通俗的解释一下区别就是,当不显示时:


     if 里面的dom内容全部删除
    visible 是使用display:none

一个对比例子

运行截图:



隐藏时:
ko 中if 和visible 的区别_第1张图片



显示时ko 中if 和visible 的区别_第2张图片

你可能感兴趣的:(ko 中if 和visible 的区别)