AngularJS动态设置CSS
使用AngularJS动态设置CSS大致有2种思路:
1、通过动态设置class名称
比如先定义2个样式:
.show-true{
display:block;
}
.show-flase{
display:none;
}
在某个元素中:
<div class="show-{{temp}}".....
temp为$scope的一个变量,通过设置$scope.temp = true 或 $scope.temp = false来决定temp变量的具体值。
比如:
<!doctype html><html ng-app="myApp"><head><meta charset="UTF-8"><title>Untitled Document</title><style>.menu-disabled-true{color: gray;}.menu-disabled-false{color: red;}</style><script src="angular.min.js"></script><script>var myApp = angular.module("myApp",[]);myApp.controller("MyController", function($scope){$scope.isDisabled = false;$scope.changeState = function(){$scope.isDisabled = true;};});</script></head><body ng-controller="MyController"><ul><li class="menu-disabled-{{isDisabled}}" ng-click="changeState()">hello</li></ul></body></html>
2、使用ng-class
ng-class显示一个对象,比如ng-class="{selected: true}"表示class="selected"。
以下ng-class的字段直接接收bool值。
<!doctype html><html ng-app="myApp"><head><meta charset="UTF-8"><title>Untitled Document</title><style>.error{background-color: red;}.warning{background-color: yellow;}</style><script src="angular.min.js"></script><script>var myApp = angular.module("myApp",[]);myApp.controller("MyController",function($scope){$scope.isError = false;$scope.isWarning = false;$scope.showError = function(){$scope.messageText = "error";$scope.isError = true;$scope.isWarning = false;};$scope.showWarning = function(){$scope.messageText = "warning";$scope.isError = false;$scope.isWarning = true;};});</script></head><body ng-controller="MyController"><div ng-class="{error:isError, warning:isWarning}">{{messageText}}</div><button ng-click="showError()">显示error</button><button ng-click="showWarning()">显示warning</button></body></html>
以下,ng-class的字段接收一个返回bool类型的表达式。
<!doctype html><html ng-app="myApp"><head><meta charset="UTF-8"><title>Untitled Document</title><style>.selected{background-color: lightgreen;}</style><script src="angular.min.js"></script><script>var myApp = angular.module("myApp",[]);myApp.controller("MyController",function($scope){$scope.person =[{name: 'darren', age: '20'},{name: 'jack', age: '23'}];$scope.selectPerson = function(rowIndex){$scope.selectedRow = rowIndex;};});</script></head><body><table ng-controller="MyController"><tr ng-repeat="p in person" ng-click="selectPerson($index)" ng-class="{selected: $index==selectedRow}"><td>{{p.name}}</td><td>{{p.age}}</td></tr></table></body></html>
参考资料:<<用AngularJS开发下一代Web应用>>
AngularJS动态设置CSS的更多相关文章
- ng-class 动态设置css
可使用ng-class 动态设置class ,设置disable后,发现ng-click 居然还可以使用,不知什么原因. <li ng-class="{disabled:!first} ...
- JS动态设置css的几种方式
1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留 - 号,就中括号的形式 element. ...
- [原创]webpack动态设置css路径
在程序入口的最上方添加 __webpack_public_path__ = path; //your path //your app start here
- JS设置CSS样式的几种方式
用JS来动态设置CSS样式,常见的有以下几种 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保 ...
- JS设置CSS样式的几种方式【转】
用JS来动态设置CSS样式,常见的有以下几种 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保 ...
- jQuery动态设置样式(style、css)
一.jQuery设置css样式 <div style="background-color:#ffffff;padding-left:10px;">测试jQuery动态获 ...
- 使用 jQuery 基本选择器获取页面元素,然后利用 jQuery 对象的 css() 方法动态设置 <span> 和 <a> 标签的样式
查看本章节 查看作业目录 需求说明: 使用 jQuery 基本选择器获取页面元素,然后利用 jQuery 对象的 css() 方法动态设置 <span> 和 <a> 标签的样式 ...
- js动态设置窗体位置
1设置登录框的js,动态设置高度等 <script> $(document).ready(function () { $() / + "px"); $("in ...
- angular.element方法汇总以及AngularJS 动态添加元素和删除元素
addClass()-为每个匹配的元素添加指定的样式类名after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点append()-在每个匹配元素里面的末尾处插入参数内容att ...
随机推荐
- Paint House
There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...
- USB枚举过程【转】
转自:http://blog.csdn.net/myarrow/article/details/8270029 1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如 ...
- 2013 ACM/ICPC 杭州网络赛C题
题意:驴和老虎,在一个矩阵的两个格子里,有各自的起始方向.两者以相同的速度向前移动,前方不能走时驴总是向右,老虎总是向左.他们不能超出矩阵边界也不能走自己走过的格子(但可以走对方走过的格子).如果不能 ...
- MVC Autofac依赖注入
通过Dll实现全部类的属性注入,该演示实例主要通过多层架构中单一的对象方式来演示,没有采取接口的方式, 新建AutoFacHelper类,如下代码: public class AutoFacHelpe ...
- 【前端vue开发】vue开发输入姓名,电话,公司表单提交组件
<template> <div id="parti-info"> <div> <span>您的姓名:</span> &l ...
- finall和set和构造方法的参数意义
package demo04; /* * 形状 */public abstract class Shape { // 求周长 public abstract double getGrith(); // ...
- ERP渠道文档管理(二十四)
基本需求: 用例图: 存储过程: CREATE PROCEDURE [dbo].[BioErpCrmChannelDocument_ADD] @DocumentID int, @ChannelID i ...
- Net WebAPI2
SwaggerUI ASP.Net WebAPI2 目前在用ASP.NET的 WebAPI2来做后台接口开发,在与前台做测试的时候,总是需要发送一个demo给他,但是这样很麻烦的,他还有可能记不住 ...
- 【LOJ】#2110. 「JLOI2015」管道连接
题解 我们先跑一个斯坦纳树出来 斯坦纳树是什么,是一个包含点集里的点联通所需要的最小的价值,显然他们联通的方式必然是一棵树 我们可以设一个状态为\(dis[i][S]\)表示以第i个点为根,点集为\( ...
- 关于 Google 与 Chrome
不断更新... 查看chrome版本 chrome浏览器中输入 chrome://version/ Chrome吧 :http://tieba.baidu.com/f?kw=chrome&i ...