美文网首页
#10 ng-if 和 ng-show

#10 ng-if 和 ng-show

作者: JamesSawyer | 来源:发表于2017-05-11 10:58 被阅读41次

ng-if && ng-show 区别

原文地址

先看代码:

Code1 -- ng-if

<div class="container-fluid">
    <p ng-if="!changing">
        {{title}}
        <button type="button" ng-click="changing = true" class="btn btn-primary">修改</button>
    </p>
    <p ng-if="changing">
        <input type="text" class="form-control" ng-model="title" />
        <button type="button" ng-click="changing = false" class="btn btn-primary">保存</button>
    </p>
</div>

Code2 -- ng-show

<div class="container-fluid">
    <p ng-show="!changing">
        {{title}}
        <button type="button" ng-click="changing = true" class="btn btn-primary">修改</button>
    </p>
    <p ng-show="changing">
        <input type="text" class="form-control" ng-model="title" />
        <button type="button" ng-click="changing = false" class="btn btn-primary">保存</button>
    </p>
</div>

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

    ng-if && ng-show 区别 原文地址 先看代码: Code1 -- ng-if Code2 -- ng...

  • AngularJS 常见面试问题

    AngularJS 常见面试问题 1. ng-if 跟 ng-show/hide 的区别有哪些? ng-if在后面...

  • 面试题

    vue和angular的区别? ng-if和ng-show的区别? 闭包 DOM操作 性能优化 sessionSt...

  • 总结十个Angular.js由浅入深的面试问题

    一、ng-show/ng-hide 与 ng-if的区别?我们都知道ng-show/ng-hide实际上是通过di...

  • ng-if和ng-show的区别

    在angularjs中ng-if和ng-show/ng-hide 都能实现Dom元素在界面的显示和隐藏。 但是两者...

  • 2018-03-15 ng-if 与 ng-show/hide

    第一组: 第二组:叶佳意 ng-if 与 ng-show/hide 的区别 区别一,ng-if 在后面表达式为 ...

  • angular之面试题

    Angular面试题 一、ng-show/ng-hide与ng-if的区别? 第一点区别是,ng-if在后面表达式...

  • angularjs 学习笔记

    应该熟练应用基本属性及指令比如:ng-model ng-if ng-repeat ng-show 变量输出等 清...

  • AngularJs 问题总结

    一、ng-if/ng-show 最根本的区别是页面是否会生成此DOM元素 二、ng-repeat迭代数组的时候,如...

  • Angular 面试题

    ng-if跟ng-show/hide的区别有哪些? 1.ng-if在表达式为true的时候才创建DOM节点,ng-...

网友评论

      本文标题:#10 ng-if 和 ng-show

      本文链接:https://www.haomeiwen.com/subject/fccotxtx.html