AngularJS改变元素显示状态

发布时间 - 2026-01-11 00:44:30    点击率:

前言

本文描述使用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改变元素显示状态  # angularjs元素显示状态  # angularjs元素显示  # AngularJS实现元素显示和隐藏的几个案例  # AngularJS中实现显示或隐藏动画效果的方式总结  # 谈谈AngularJs中的隐藏和显示  # AngularJS实现DOM元素的显示与隐藏功能  # 布尔  # 设置为  # 时将  # 工作原理  # 这两条  # 很简单  # 实际情况  # 种方法  # 可以根据  # 应到  # 也就是说  # 变量值  # 是一项  # src  # script  # lib  # lt  # body  # gt  # div 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何集成Inertia.js与Vue/React?(安装配置)  魔方云NAT建站如何实现端口转发?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  使用spring连接及操作mongodb3.0实例  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  香港服务器部署网站为何提示未备案?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  再谈Python中的字符串与字符编码(推荐)  打造顶配客厅影院,这份100寸电视推荐名单请查收  javascript基于原型链的继承及call和apply函数用法分析  如何快速搭建支持数据库操作的智能建站平台?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Java遍历集合的三种方式  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何在VPS电脑上快速搭建网站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何用PHP工具快速搭建高效网站?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  如何在腾讯云服务器快速搭建个人网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何在云主机上快速搭建网站?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  JS去除重复并统计数量的实现方法  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  手机网站制作与建设方案,手机网站如何建设?  潮流网站制作头像软件下载,适合母子的网名有哪些?  无锡营销型网站制作公司,无锡网选车牌流程?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel中的Facade(门面)到底是什么原理  英语简历制作免费网站推荐,如何将简历翻译成英文?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  如何自定义建站之星模板颜色并下载新样式?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  浅述节点的创建及常见功能的实现  如何在阿里云服务器自主搭建网站?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】