• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >AngularJS > Angular用来控制元素的展示与否的原生指令介绍

Angular用来控制元素的展示与否的原生指令介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含Angular用来控制元素的展示与否的原生指令介绍等相关知识,希望在学习及工作中可以帮助到您

在Angular的原生指令中有这几个指令用来控制元素的展示与否,ng-show/ng-hide/ng-if和ng-switch。

在angular性能优化中,我们也常常会用到它。

我们看下他们的区别。

其中ng-show和ng-hide是一样的,只不过ng-show是满足条件就展示,ng-hide是满足条件就隐藏,下面就不再提到ng-hide。

ng-show
ng-show接收的一个bool值,当为true的时候就会被触发去展示DOM节点。当ng-show的值为false的时候,在DOM节点上添加了一个ng-hide的一个类,这个类的表达式就是“display:none”。DOM load的时候ng-show里面的所有节点都会被加载。也就是说,ng-show仅仅是影藏和显示了DOM节点。也就意味如果油太多的ng-show指令,即使他们不显示,但他们所在的DOM节点还是会被渲染的。

ng-if
ng-if也接收的一个bool值,当它的值为false的时候,它所控制的节点并没有被创建或者说之前的DOM节点会被销毁掉,哪怕这个节点里面包含了很多ng的绑定都不会去执行。所以,我们在项目开发中,如果没有必要一次性加载完的dom就可以用ng-if来阻止ng事件发生,从而也就加快了dom的加载速度。特别是在repeat的时候,每条数据又包含了复杂的数据结构的时候效果特别明显。当它的值为true的时候,就会去创建DOM节点。

所以如果你用指令、模板来渲染额外的信息,例如通过点击来显示列表项的详细信息,一定要使用  ng-if(AngularJSv. 1.1.5以后)。它可阻止渲染(与ng-show相比)。

ng-switch
ng-switch的存在,让我们省去很多麻烦(应该说angular本身就这样)。比如我们之前用传统的方式去做一个tab选项卡。我们要一次次的循环然后在判断当前的状态最后再去执行相应的事情。在angular里面用ng-switch就非常的简单。ng-switch要先监听某一个变量,当此变量为什么值的时候下面就显示什么内容。如上面显示的,监听了type这么一个变量,当type的值等于‘aaa'的时候这块区域就会被创建并显示;当type的值等于‘bbb'的时候,之前'aaa'的dom全部会被销毁,然后'bbb'dom全部创建并显示。

例子 http://jsbin.com/hinehi/1/edit

</div>

您可能想查找下面的文章:

相关文章

  • 2017-05-30AngularJS执行流程详解
  • 2017-05-30对Angular.js Controller如何进行单元测试
  • 2017-05-30详解angular2采用自定义指令(Directive)方式加载jquery插件
  • 2017-05-30AngularJs Creating Services详解及示例代码
  • 2017-05-30AngularJS入门教程之表格实例详解
  • 2017-05-30详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
  • 2017-05-30AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
  • 2017-05-30详解angular用$sce服务来过滤HTML标签
  • 2017-05-30利用angularjs1.4制作的简易滑动门效果
  • 2017-05-30AngularJS实现DOM元素的显示与隐藏功能

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • AngularJS入门教程之服务(Service)
    • AngularJS下对数组的对比分析
    • Angualrjs和bootstrap相结合实现数据表格table
    • 使用ngView配合AngularJS应用实现动画效果的方法
    • AngularJs bootstrap搭载前台框架——准备工作
    • AngularJS中的表单简单入门
    • 利用JavaScript的AngularJS库制作电子名片的方法
    • AngularJS表格添加序号的方法
    • Angular.Js之Scope作用域的学习教程
    • 理解Angular数据双向绑定

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有