举例详解AngularJS中ngShow和ngHide的使用方法


Posted in Javascript onJune 19, 2015

今天我们来看看怎样使用Angular的ngShow 和ngHide   指令来完成它们听起来应该完成的,显示和隐藏!
它们应该做的事

ngShow 和ngHide 允许我们显示或隐藏不同的元素。这有助于创建Angular应用时因为我们的单页程序会有许多的移动部件随着应用状态的改变而来来去去。

这些指令的最伟大的部分就是我们不必使用CSS或者JS来操作显示还是隐藏。这些都是由老练的Angular来完成。

用法

想使用ngShow 或ngHide, 只需将指令添加到你想要显示或者隐藏的元素上即可。
 

<!-- FOR BOOLEAN VALUES =============================== -->
<!-- for true values -->
<div ng-show="hello">this is a welcome message</div>  
 
 <!-- can also show if a value is false --> 
<div ng-show="!hello">this is a goodbye message</div>  
 
<!-- FOR EXPRESSIONS =============================== -->
<!-- show if the appState variable is a string of goodbye -->
<div ng-show="appState == 'goodbye'">this is a goodbye message</div> 
 
<!-- FOR FUNCTIONS =============================== -->
<!-- use a function defined in your controller to evaluate if true or false -->
<div ng-hide="checkSomething()"></div>

一旦我们设置了我们标记,我们可以多种方式设置hello或者goodbye。你可以将它设置到你的Angular控制器里并且让你的div在应用加载的时候显示或隐藏。

上面的这些都可以用于ng-show或者ng-hide。如果值或表达式或函数返回true,则会隐藏一些东西。

用作布尔值

我们将创建使用ng-click的链接,并切换goCats的值为true或false。

<a href ng-click="goCats = !goCats">Toggle Cats</a>

然后我们可以使用ng-show来显示或隐藏分类图像。

<img ng-src="http://i.imgur.com/vkW3Lhe.jpg" ng-show="goCats">

ng-src 我们使用ng-src来调用图片,这样的话Angular将在实例化及检查图像时确认是否将其隐藏。如果我们不这样的话,图片会在站点加载时弹出来,直到Angular意识到应该将其隐藏。

判断表达式

在这里我们来判断一个从输入框传来的字符串,我们把ng-mode绑定在一个输入框的里面并命名为aminal变量,并根据这个变量的内容来显示不同的图片。

下面我们会把我们的变量名焦作aminal。
 

<input type="text" ng-model="aminal">

然后我们会使用ng-show来对字符串进行判断。
 

<img ng-src="http://i.imgur.com/vkW3Lhe.jpg" ng-show="aminal == 'cat'">

使用方法

我们会做一个简单的检查来判断输入的是奇数还是偶数。 我们会创建一个方法在我们的AngularJS文件中:
 

// set the default value of our number
$scope.myNumber = 0;
   
// function to evaluate if a number is even
$scope.isEven = function(value) {
 
if (value % 2 == 0)
 return true;
else 
 return false;
 
};

方法创建完成之后, 我们接下来要做的就是通过ng-show或者ng-hide来使用它,并传入我们的数字。通过方法传数字这种方法,可以保持Angular控制整洁和可测试。
 

<!-- show if our function evaluates to false -->
<div ng-show="isEven(myNumber)">
  <h2>The number is even.</h2>
</div>
  
<!-- show if our function evaluates to false -->
<div ng-show="!isEven(myNumber)">
  <h2>The number is odd.</h2>
</div>

 
结论

有了这两个方向的指引,我们的应用会有很大的改观. 而这些只是基于 布尔值, 表达式, 以及 函数,实现的元素显示和隐藏功能 但这三种模式将能应用到更多的场景.

Javascript 相关文章推荐
IE8 中使用加速器(Activities)
May 14 Javascript
jQuery中 noConflict() 方法使用
Apr 25 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
a标签的href与onclick事件的区别详解
Nov 12 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
Aug 02 Javascript
JS多物体实现缓冲运动效果示例
Dec 20 Javascript
函数四种调用模式以及其中的this指向
Jan 16 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
Jul 31 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
JavaScript实现背景自动切换小案例
Sep 27 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 #Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
Jun 19 #Javascript
使用ngView配合AngularJS应用实现动画效果的方法
Jun 19 #Javascript
Backbone.js的Hello World程序实例
Jun 19 #Javascript
使用AngularJS处理单选框和复选框的简单方法
Jun 19 #Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 #Javascript
让JavaScript中setTimeout支持链式操作的方法
Jun 19 #Javascript
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
PHP生成静态页面详解
2006/11/19 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017/02/24 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
js数组的基本使用总结
2021/01/18 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
Python 数据结构之队列的实现
2017/01/22 Python
python开发简易版在线音乐播放器
2017/03/03 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
生产主管岗位职责
2013/11/10 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
公司活动方案范文
2014/03/06 职场文书
公司承诺书格式
2014/05/21 职场文书
学校读书活动总结
2014/06/30 职场文书
教师工作能力自我评价
2015/03/04 职场文书
美丽心灵观后感
2015/06/01 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
青岛市的收音机研制与生产
2022/04/07 无线电