打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
AngularJS进阶(十)AngularJS改变元素显示状态


前言

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

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

实例1

  1. <body>  
  2. <div ng-controller="VisibleController">  
  3.     <p ng-show="visible">字符串1</p>  
  4.     <p ng-hide="visible">字符串2</p>  
  5.     <button ng-click="toggle()">切换</button>  
  6. </div>  
  7.    
  8. <script src="../lib/angularjs/1.2.26/angular.min.js"></script>  
  9. <script>  
  10.     function VisibleController($scope) {  
  11.         $scope.visible = false;  
  12.         $scope.toggle = function () {  
  13.             $scope.visible = !$scope.visible;  
  14.         }  
  15.     }  
  16. </script>  
  17. </body>  

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

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

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

工作原理

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

实例2

  1. <body ng-controller='ShowController'>  
  2. <button ng-click="toggleMenu()">Toggle Menu</button>  
  3. <ul ng-show='menuState.show'>  
  4. <li>Stun</li>  
  5. <li>Disintegrate</li>  
  6. <li>Erase from history</li>  
  7. </ul>  
  8.    
  9. <script src="lib/angular/angular.js"></script>  
  10. <script>  
  11. var myApp=angular.module('myApp',[])    myApp.controller('ShowController',function($scope)          {$scope.menuState={show:    false},$scope.toggleMenu=function()  {$scope.menuState.show=!$scope.menuState.show;}});  
  12. </script>  
  13. </body>  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
AngularJS 简介 | 菜鸟教程
跟我学AngularJs:Service、Factory、Provider依赖注入使用与区别
AngularJS自学之路(一)
AngularJS开发指南29:将服务注入到控制器中 | AngularJS中文社区
【AngularJS】作用域详解
AngularJS开发指南04:核心概览 | AngularJS中文社区
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服