AngularJS改变元素显示状态

 更新时间:2017年04月20日 09:36:34   作者:孙华强  
本文主要介绍使用AngularJS提供的ng-show和ng-hide指令实现自动监听某布尔型变量来改变元素显示状态。下面跟着小编一起来看下吧

前言

本文描述使用AngularJS提供的ng-show和ng-hide指令实现自动监听某布尔型变量来改变元素显示状态。

控制html元素显示和隐藏有n种方法:html的hidden、css的display、jQuery的hide()和show()、bootstrap的.hide。今天的重点不是显示和隐藏,而是监听某个布尔变量值,自动改变元素显示和隐藏状态。监听函数、if判断、选择dom、设置dom,5行代码搞不定吧,而且毫无技术含量。

实例1

<body> 
<div ng-controller="VisibleController"> 
 <p ng-show="visible">字符串1</p> 
 <p ng-hide="visible">字符串2</p> 
 <button ng-click="toggle()">切换</button> 
</div> 
 
<script src="../lib/angularjs/1.2.26/angular.min.js"></script> 
<script> 
 function VisibleController($scope) { 
 $scope.visible = false; 
 $scope.toggle = function () { 
  $scope.visible = !$scope.visible; 
 } 
 } 
</script> 
</body> 

两个指令很简单,只是ng-show在true时显示,false时隐藏,而ng-hide效果相反。

对于菜单、上下文敏感的工具以及很多其他情况来说,显示和隐藏元素是一项核心的功能。与Angualr中其他功能一样,Angular是通过修改数据模型的方式来驱动UI刷新,然后通过指令把变更反应到UI上。

ng-show和ng-hide这两条指令的功能是等价的,但是运行效果正好相反,我们都可以根据所传递的表达式来显示或隐藏元素。也就是说,ng-show在表达式为true时将会显示元素,为false时将会隐藏元素;而ng-hide则恰好相反。

工作原理

这两条指令的工作原理是:根据实际情况把元素的样式设置为display:block来显示元素;设置为display:none来隐藏元素。

实例2

<body ng-controller='ShowController'> 
<button ng-click="toggleMenu()">Toggle Menu</button> 
<ul ng-show='menuState.show'> 
<li>Stun</li> 
<li>Disintegrate</li> 
<li>Erase from history</li> 
</ul> 
 
<script src="lib/angular/angular.js"></script> 
<script> 
var myApp=angular.module('myApp',[]) myApp.controller('ShowController',function($scope)  {$scope.menuState={show: false},$scope.toggleMenu=function() {$scope.menuState.show=!$scope.menuState.show;}}); 
</script> 
</body> 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • AngularJS教程 ng-style 指令简单示例

    AngularJS教程 ng-style 指令简单示例

    本文主要介绍AngularJS ng-style 指令,这里对ng-style 指令做了详细的基础资料整理,并附有代码示例,有需要的朋友可以参考下
    2016-08-08
  • 关于使用axios的一些心得技巧分享

    关于使用axios的一些心得技巧分享

    vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,所以下面这篇文章主要给大家分享了关于使用axios的一些心得技巧,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • AngularJs1.x自定义指令独立作用域的函数传入参数方法

    AngularJs1.x自定义指令独立作用域的函数传入参数方法

    今天小编就为大家分享一篇AngularJs1.x自定义指令独立作用域的函数传入参数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Angular2表单自定义验证器的实现

    Angular2表单自定义验证器的实现

    本文给大家介绍angular2表单自定义验证器的实现,本文给大家介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • AngularJS自定义指令实现面包屑功能完整实例

    AngularJS自定义指令实现面包屑功能完整实例

    这篇文章主要介绍了AngularJS自定义指令实现面包屑功能,结合完整实例形式分析了AngularJS自定义指令的定义、调用及面包屑功能的具体实现技巧,需要的朋友可以参考下
    2017-05-05
  • AngularJS基础 ng-show 指令简单示例

    AngularJS基础 ng-show 指令简单示例

    本文主要介绍AngularJS ng-show 指令,这里对ng-show 指令的基础知识做了详细介绍,并附有代码示例,希望能帮助学习AngularJS的同学
    2016-08-08
  • Angularjs material 实现搜索框功能

    Angularjs material 实现搜索框功能

    这篇文章主要介绍了Angularjs material 实现搜索框功能的相关资料,需要的朋友可以参考下
    2016-03-03
  • 深入理解Angularjs 脏值检测

    深入理解Angularjs 脏值检测

    这篇文章主要介绍了深入理解Angularjs 脏值检测,详细的介绍了脏值检测的原理和实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 详解Angular 4.x 动态创建组件

    详解Angular 4.x 动态创建组件

    本篇文章主要介绍了详解Angular 4.x 动态创建组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 基于angular2 的 http服务封装的实例代码

    基于angular2 的 http服务封装的实例代码

    这篇文章主要介绍了基于angular2 的 http服务封装实例代码,
    2017-06-06

最新评论