举例详解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 相关文章推荐
jQuery判断复选框是否勾选的原理及示例
May 21 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
Jun 14 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
JS实现重新加载当前页面或者父页面的几种方法
Nov 30 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
JS实现的3des+base64加密解密算法完整示例
May 18 Javascript
微信小程序实现单选功能
Oct 30 Javascript
vue router的基本使用和配置教程
Nov 05 Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
使用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
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python作用域用法实例详解
2016/03/15 Python
Python制作词云的方法
2018/01/03 Python
python3爬虫之设计签名小程序
2018/06/19 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
会计核算科岗位职责
2014/03/19 职场文书
学校教研活动总结
2014/07/02 职场文书
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
检讨书范文
2015/01/27 职场文书
离婚起诉状范本
2015/05/19 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
css背景和边框标签实例详解
2021/05/21 HTML / CSS