#10 ng-if 和 ng-show

ng-if && ng-show 区别

原文地址

先看代码:

Code1 -- ng-if

{{title}}

Code2 -- ng-show

{{title}}

jsfiddle 地址

可以发现 Code1 -- ng-if 无法打开,原因如下:

1.优先级

ng-if 的优先级为 600, 高于绝大部分其它原始指令,比如 ng-click

2.ng-if 有自己的 $scope

因为每一个 ng-if 都会有自己的作用域,所以当去更新 changing 值时, 只会针对 ng-if 的作用域,而父作用域中的值不会改变

ng-if 和 ng-show 核心区别

  1. ng-if 会创建作用域, 每次都会重新创建或移除DOM
  2. ng-show 只是改变CSS样式,无独立的作用域, display: none !important

你可能感兴趣的:(#10 ng-if 和 ng-show)