AngularJs ngClass、ngClassEven、ngClassOdd、ngStyle
这几个都关于样式及类名修改的,所以先把样式代码贴上吧。
.red{color:red}
.blue{color:blue}
写案例用到的样式就这么简单的两个,下面进入正题。
ngClass
ngClass指令允许在HTML标签上通过绑定一个代表所有将被添加的类的表达式去动态的设定CSS类名。
该指令操作有三种不同的方式,根据三种类型的表达式计算结果为:
- 如果表达式计算的结果是个字符串,那么这个字符串就是一个或多个以空格分隔开的类名;
- 如果表达式计算的结果是个数组,而且这个数组的元素都是字符串,那么这个数组的每个元素就是一个或多个以空格分隔开的类名;
- 如果表达式的计算结果为一个对象,那么对象的每个键值对的相对应的有真实存在的值将会被当作类名。
格式:ng-calss=“value” ng-calss=“{true:’class-one’,false:“classs-two”}[value]”
value:表达式。
使用代码:
<input type="button" ng-click="isChecked = !isChecked" value="toggle" />
<span ng-class="{red:isChecked}">Hello World !!!</span>
<span ng-class="{true:'red'}[isChecked]">Hello World !!!</span>
ngClass可以用于一些动态样式的变化,当满足某某某条件需要改变样式的时候(比如:验证不通过时显示红色边框),这种的在项目开发中用到的地方还是较多的。
ngClassEven/ngClassOdd
ngClassEven和ngClassOdd 指令和ngClass工作原理一样,除此之外,他们在ng-repeat里分别对偶(奇)数行有对应的影响。
格式: ng-calss-even=“value” ng-class-odd=“value”
value:表达式。
使用代码:
<ol ng-init="items = ['A','B','C','D']">
<li ng-repeat="i in items"><span ng-class-odd="'red'" ng-class-even="'blue'">{{i}}</span></li>
</ol>
上面这串代码返回的结果就是奇数行的是红色字体,偶数行的是蓝色字体,我们在做表格数据的时候或者列表数据的时候用的较多,而且该指令使用也方便。
ngStyle
ngStyle指令允许在HTML元素上设置css样式。
格式:ng-style=“value” class=”ng-style:value”
value:表达式。
使用代码:
<div ng-app="Demo" ng-controller="testCtrl as ctrl">
<p ng-style="ctrl.red">Hello World</p>
<p class="ng-style:ctrl.blue">Hello World</p>
</div>
(function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
this.red = { color: "red" };
this.blue = { color: "blue" };
};
}());
动态设置css样式,这个指令需要和ngClass区分下,ngClass是动态设置css类名,ngStyle是动态设置css样式。
AngularJs ngClass、ngClassEven、ngClassOdd、ngStyle的更多相关文章
- Angular - - ngClass、ngClassEven、ngClassOdd、ngStyle
这几个都关于样式及类名修改的,所以先把样式代码贴上吧. .red{color:red} .blue{color:blue} 写案例用到的样式就这么简单的两个,下面进入正题. ngClass ngCla ...
- [Angularjs]ng-class,ng-class-even,ng-class-odd
写在前面 最近在通过angularjs将数据绑定到前端,其中也涉及到很多新的东西,一些效果还是很有必要实现的.在使用中发现ng-class,ng-class-even.ng-class-odd的使用, ...
- AngularJs学习笔记2-控制器、数据绑定、作用域
上次分享完该系列文章后有朋友也建议说1.x版本除了维护也没有必要学习,可以学习2.0开始学习,我也知道1.x无论是从性能还是架构上都没有2.x好,但是我想因为现在也有一些朋友还在用1.x版本,因为1. ...
- AngularJS进阶(四十)创建模块、服务
AngularJS进阶(四十)创建模块.服务 学习要点 使用模块构架应用 创建和使用服务 为什么要使用和创建服务与模块? 服务允许你打包可重用的功能,使之能在此应用中使用. 模块允许你打包可重用的功能 ...
- AngularJS:何时应该使用Directive、Controller、Service?
AngularJS:何时应该使用Directive.Controller.Service? (这篇文章你们一定要看,尤其初学的人,好吗亲?) 大漠穷秋 译 AngularJS是一款非常强大的前端MVC ...
- AngularJS路由系列(5)-- UI-Router的路由约束、Resolve属性、路由附加数据、路由进入退出事件
本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router约束路由参数● UI-Router的Resolve属性● UI-Router给路由附加数据● UI- ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...
随机推荐
- c++虚函数注意事项
>在基类方法声明中使用关键字virtual,可以使该方法在基类及所有的派生类中是虚的 >如果使用指向对象的引用或指针来调用虚方法,程序将使用对象类型定义的方法,而不使用为引用或指针类型定义 ...
- EF分页中的陷阱
(一) 前言 EF使用非常简单,但是如果使用不当就会误入EF陷阱中. ...
- 一步一步学习ABP项目系列文章目录
1.概述 基于DDD的.NET开发框架 - ABP初探 基于DDD的.NET开发框架 - ABP分层设计 基于DDD的.NET开发框架 - ABP模块设计 基于DDD的.NET开发框架 - ABP启动 ...
- 为 Xamarin.Forms 做个跑马灯控件
前段时间,私下用 Xamarin.Forms 做了个商业项目的演示版.很多被国内App玩坏了的控件/效果,XF上都没有或是找不到对应的实现,没有办法只能亲自上阵写了几个,效果还行,就是有BUG. 这个 ...
- asp.net程序员初涉node.js
之前一直听说node.js在处理网站大规模并发上十分有用,所以有一定规模的公司都在使用node.我在工作中只用过jquery,属于那种边做功能边学习的那一种.甚至连原生的js都不太会写,只是知道语法差 ...
- 20151023 - discuz 6 中 insenz 营销推广失效的问题
将很久之前的论坛重新放在网络上,发现首页打开非常慢,用 Web Inspector 检查,发现 insenz.com 已失效导致. 解决办法: 1.进入数据库:执行 SELECT * FROM cdb ...
- sprintf_s的教训
sprintf_s 是个比sprintf更安全的函数,今天在使用的过程中犯了个错误,代码的大致意思如下 void Test_sprintf_s() { ]; memset(buff, , sizeof ...
- Learning to Rank 简介
转自:http://www.cnblogs.com/kemaswill/archive/2013/06/01/3109497.html,感谢分享! 本文将对L2R做一个比较深入的介绍,主要参考了刘铁岩 ...
- 如何设置div高度为100%
div高度通常都是固定值,直接将div高度设为100%是无效的,那么如何设置才能有效呢? 直接给div设置height:100%即可,无效的原因一定是父元素的高度为0,最常见的就是给body的直接元素 ...
- 北大OJ 1001题
题目:输入一序列的正实数和幂次(正整数)对,然后打印结果(具体的比这个精细) 这道题是关于大数计算的(大数求幂),从开始建立思路,到写代码.调式到最后被AC以及最终的优化,总共用了差不多一天的时间.开 ...