AngularJS改变元素显示状态


Posted in Javascript onApril 20, 2017

前言

本文描述使用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>

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

Javascript 相关文章推荐
解决FireFox下[使用event很麻烦]的问题
Nov 26 Javascript
js淡入淡出的图片轮播效果代码分享
Aug 24 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
Dec 02 Javascript
jQuery选择器总结之常用元素查找方法
Aug 04 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
node.js中express模块创建服务器和http模块客户端发请求
Mar 06 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
JavaScript实现雪花飘落效果
Dec 27 Javascript
bootstrap 设置checkbox部分选中效果
Apr 20 #Javascript
详解Vue2.0之去掉组件click事件的native修饰
Apr 20 #Javascript
AngularJS实现根据不同条件显示不同控件
Apr 20 #Javascript
详解Vuejs2.0之异步跨域请求
Apr 20 #Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 #Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 #Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
Apr 20 #Javascript
You might like
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
opencv python如何实现图像二值化
2020/02/03 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
产品工艺师的岗位职责
2013/11/15 职场文书
在校生自我鉴定
2014/01/23 职场文书
创先争优个人承诺书
2014/08/30 职场文书
银行授权委托书范本
2014/10/04 职场文书
2015年营业员工作总结
2015/04/23 职场文书