ng-if 控制元素是否存在,
ng-show,ng-hide 控制元素是否展示。ng-show=“true” 等价于ng-hide=“false”
存在是展示的前提。
用一个例子说明区别:
当页面表单中存在如下一个表单元素,该input带有required属性,在表单提交前会校验。
<input type="number" class="form-control input-sm" name="phone" ng-model="user.phone" placeholder="(必填)" required/>
如果给该元素加上ng-show="false" (ng-hide="true"),那么提交仍然会失败,因为虽然元素没有展示但是是存在的,所以依然会有校验。
<input type="number" class="form-control input-sm" name="phone" ng-model="user.phone" placeholder="(必填)" ng-show="false" required/>
如果给该元素加上ng-if="false",就可以提交成功了,因为元素已经不存在了,所以也就没有校验了。
<input type="number" class="form-control input-sm" name="phone" ng-model="user.phone" placeholder="(必填)" ng-if="false" required/>