举例详解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 相关文章推荐
弹出广告特效代码(一个IP只弹出一次)
May 11 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
Jan 30 Javascript
使用js获取QueryString的方法小结
Feb 28 Javascript
Javascript倒计时代码
Aug 12 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
浅谈javascript对象模型和function对象
Dec 26 Javascript
基于jQuery创建鼠标悬停效果的方法
Mar 07 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
vue+node实现图片上传及预览的示例方法
Nov 22 Javascript
微信小程序系列之自定义顶部导航功能
May 21 Javascript
我所理解的JavaScript中的this指向
Sep 04 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
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
JavaScript如何从listbox里同时删除多个项目
2013/10/12 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
python getopt 参数处理小示例
2009/06/09 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
医院护士的求职信范文
2013/12/26 职场文书
初三学习决心书
2014/03/11 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
成绩单评语
2015/01/04 职场文书
英语教师个人总结
2015/02/09 职场文书
2016元旦主持人开场白
2015/12/03 职场文书