如何使用 AngularJS 的 ngShow 和 ngHide

今天我们来看看怎样使用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的值为truefalse

<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>

结论

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

希望本文能帮助你构建更好的AngularJS应用.在后续的文章中我们会介绍 ngShow 和 ngHide 以创建更多动态展示的应用.

时间: 2024-12-19 16:32:49

如何使用 AngularJS 的 ngShow 和 ngHide的相关文章

[Angularjs]ng-show和ng-hide

写在前面 上篇文章介绍了ng-select和ng-options指令的使用,这篇文章继续指令的学习,本篇文章讲学习ng-show和ng-hide指令. 系列文章 [Angularjs]ng-select和ng-options ng-show和ng-hide ng-Show 和ng-Hide 允许我们显示或隐藏不同的元素.这有助于创建Angular应用时,更方便的操作元素的显示与隐藏,而不必使用css或者js操作元素的显示与隐藏,这些交给angularjs来实现就可以了.我们只需要做的就是为ng-

angularjs入门-ng-show,ng-hide,ng-if

其实这三个directive很像,用法也大同小异,ng-if是会动态增减元素,ng-show和ng-hide则是把元素显示和隐藏而已,只是用隐藏的方式隐藏起来,就像jquery的$.show()和$.hide()的概念,使用上其实也非常简单,建立一个ng-repeat来说明,我现在只想显示people,其余非人类的全部默认就都不存在,那我就可以使用ng-if的方式,我们也可以想成就像在view上面写if的感觉,如下例子 {{item.name}}-{{item.animalType}} 我们也可

(十四)ng-if与ng-show、ng-hide指令的区别和注意事项

angularJS中的ng-show.ng-hide.ng-if指令都可以用来控制dom元素的显示或隐藏.ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素.当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示.ng-hide功能类似,使用方式相反.元素的显示或隐藏是通过改变CSS的display属性值来实现的. <div ng-show="2 + 2 == 5"> 2 + 2 isn't 5, don't show &l

练习ng-show和ng-hide的方法

在程序设计过程,我们需要把某一元素或是或一块进行显示与隐藏. 如你正使用angularjs的话,就可以使用ng-show或者ng-hide来进行控制. var showhideApp = angular.module('showhideApp', []); Source Code 定义控制器,其中编写2个铵钮的事件: showhideApp.controller('showhideController', function ($scope) { $scope.IsVisibled = false

AngularJS入门(用ng-hide指令实现元素显示和隐藏)

控制html元素显示和隐藏有n种方法:html的hidden.css的display.jquery的hide()和show().bootstrap的.hide.今天的重点不是显示和隐藏,而是监听某个布尔变量值,自动改变元素显示和隐藏状态.监听函数.if判断.选择dom.设置dom,5行代码搞不定吧,而且毫无技术含量. 看代码: <!DOCTYPE html> <html ng-app> <head> <meta charset="utf-8"&

ng-show和ng-hide的进阶应用

在数据列表渲染的时候,我们可能不仅有一层数据,可能是三级甚至更多,如果我们要显示或者隐藏对应的数据,那么就需要给数据进行子scope的绑定.如下 html <div ng-app="demoApp"> <table ng-controller="mainCtrl"> <tr ng-repeat="app in apps" ng-model="app" ng-hide="app.hidde

AngularJS的学习--ng-show/ng-hide/ng-if和ng-switch

在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节点上

angularJS中的ng-show、ng-if指令

angularJS中的ng-show.ng-hide.ng-if指令都可以用来控制dom元素的显示或隐藏. 1. ng-show和ng-hide 根据所给表达式的值来显示或隐藏HTML元素.元素会渲染出来,只是通过css隐藏了. 即DOM中会存在, 通过选择符可以获取到此元素的. 2.ng-if指令 可以根据表达式的值在DOM中生成或移除一个元素.如果赋值给ng-if的表达式的值是false,那对应的元素将会从DOM中移除(DOM中不会存在, 通过选择符无法选择到),否则生成一个新的元素插入DO

野兽的Angular Api 学习、翻译及理解 - - ngIf、ngSwitch、ngHide/ngShow

野兽的 ng api 学习 - - ngIf.ngSwitch.ngHide/ngShow 在组合这些ng指令写到一篇文章里的时候,基本是有规则的,野兽把功能相似相近的一类大多会组合到一起,方便理解和记忆. 这篇的三个指令也都是对DOM元素的操作,页面上显示/隐藏的判断,添加/移除的判断. ngIf ngIf指令会根据指定的表达式返回的boolean类型值对该元素做添加到/移除出Dom树的操作. 格式:ng-if=“value” value:表达式  返回结果为boolean类型. 使用代码: