条件判断
if
<div drunk-if="visible">
<div drunk-repeat="item in list">{{item |json}}</div>
</div>
if指令是所有绑定指令中优先级最高的,并且可以拦截子节点的绑定解析,所以当visible为false时,没有多少事情要做,容器里的drunk-repeat和插值表达式并未创建绑定;当值这true时才会去解析并缓存编译结果,再创建绑定。
show
<div drunk-show="visible">
<div drunk-repeat="item in list">{{item |json}}</div>
</div>
show只是简单的控制元素css样式的display属性进行切换显示和隐藏,所以不论visible值是什么,子节点都会进行绑定解析和创建。
if 与 show 的区别
if有更高的编译和绑定以用销毁成本,show有更高的初始化渲染成本。所以频繁的切换显示隐藏可以使用show,if可以在条件不常变换时使用。