--@angularJS--浅谈class与Ng-Class的应用
1、angularjs的表达式是可以写在class里面动态改变其值的,写法如下:
□、CSS1.html:
<!doctype html>
<html ng-app="MyCSSModule">
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="CSS1.css">
</head>
<body>
    <div ng-controller="CSSCtrl">
        <p class="text-{{color}}">测试CSS样式</p>                                           //注意这里的class="text-{{color}}"这个class写法,text-后面的angular表达式变量
        <button class="btn btn-default" ng-click="setGreen()">绿色</button>
    </div>
</body>
<script src="js/angular-1.3.0.js"></script>
<script src="CSS1.js"></script>
</html>
□、CSS1.css:
.text-red {
    background-color: #ff0000;
}
.text-green {
    background-color: #00ff00;
}
□、CSS1.js:
var myCSSModule = angular.module('MyCSSModule', []);
myCSSModule.controller('CSSCtrl', ['$scope',
    function($scope) {
        $scope.color = "red";
        $scope.setGreen = function() {                           //定义一个setGreen()方法,点击调用这个方法改变color的值,平谈无奇就这么简单
            $scope.color = "green";
        }
    }
]);
2、上面的例子改造一下,用ng-class,写法如下:
□、NgClass.html:
<!doctype html>
<html ng-app="MyCSSModule">
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="NgClass.css">
</head>
<body>
    <div ng-controller='HeaderController'>
        <div ng-class='{error: isError, warning: isWarning}'>{{messageText}}</div>                //注意ng-class='{error: isError, warning: isWarning}'的写法,后面的表达式意为:
当isError为true时,调用error样式类,当isWarning为true时,调用warning样式类
        <button ng-click='showError()'>Simulate Error</button>
        <button ng-click='showWarning()'>Simulate Warning</button>
    </div>
</body>
<script src="js/angular-1.3.0.js"></script>
<script src="NgClass.js"></script>
</html>
□、NgClass.css:
.error {
    background-color: red;
}
.warning {
    background-color: yellow;
}
□、NgClass.js:
var myCSSModule = angular.module('MyCSSModule', []);
myCSSModule.controller('HeaderController', ['$scope',
    function($scope) {
        $scope.isError = false;                                               
        $scope.isWarning = false;                                                       //两个标记变量默认状态下都为false
        $scope.showError = function() {                                             //控制器里面做的事就是给变量赋值,通过html中的ng-click来调用赋值的方法
            $scope.messageText = 'This is an error!';
            $scope.isError = true;
            $scope.isWarning = false;
        };
        $scope.showWarning = function() {
            $scope.messageText = 'Just a warning. Please carry on.';
            $scope.isWarning = true;
            $scope.isError = false;
        };
    }
])
--@angularJS--浅谈class与Ng-Class的应用的更多相关文章
- 关于AngularJS学习整理---浅谈$scope(作用域)  新手必备!
		作为初次接触 AngularJS的新手,想要深层理解里面的内容短时间还是不可能的,所以标题写了浅谈字样,以下内容是参考各位大神以及相关书籍整理加个人理解,出现错误的地方请大家指正. $scope(作用 ... 
- AngularJS进阶(二十五)requirejs + angular + angular-route 浅谈HTML5单页面架构
		requirejs + angular + angular-route 浅谈HTML5单页面架构 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又 ... 
- 浅谈Hybrid技术的设计与实现第二弹
		前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ... 
- 浅谈Vue.js
		作为一名Vue.js的忠实用户,我想有必要写点文章来歌颂这一门美好的语言了,我给它的总体评价是“简单却不失优雅,小巧而不乏大匠”,下面将围绕这句话给大家介绍Vue.js,希望能够激发你对Vue.js的 ... 
- 浅谈HTML5单页面架构(一)——requirejs + angular + angular-route
		心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验 ... 
- 浅谈Feature Scaling
		浅谈Feature Scaling 定义:Feature scaling is a method used to standardize the range of independent variab ... 
- 【微信小程序项目实践总结】30分钟从陌生到熟悉  web app 、native app、hybrid app比较  30分钟ES6从陌生到熟悉  【原创】浅谈内存泄露  HTML5 五子棋 - JS/Canvas 游戏  meta 详解,html5 meta 标签日常设置  C#中回滚TransactionScope的使用方法和原理
		[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ... 
- 浅谈 Fragment 生命周期
		版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ... 
- 浅谈 LayoutInflater
		浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ... 
- 浅谈Java的throw与throws
		转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ... 
随机推荐
- android Spinner 续
			android Spinner 续 动态增删Spinner中的数据项 public class EX04_09 extends Activity{ private static final Stri ... 
- 配置glance使用NFS后端
			首先先使用“glance image-delete”命令删除所有镜像,释放磁盘空间. 停止glance服务:service openstack-glance-api stopservice opens ... 
- 深入浅出Ajax(二)
			<script type="text/javascript"> window.onload = initPage; function initPage() { var ... 
- 简单三段式状态机实验1-SOS
			一直想从一段式状态机切换到三段式状态机,从书上和网上不断搜寻三段式案例及方法,感觉很简单,就想拿之前做过的实验把一段式改成三段式,可是写起来并非那么简单,很棘手,改完后也没有成功,尤其状态机里面的计数 ... 
- Cordova插件开发
			我在网上找了很多关于Cordova插件开发的例子,都不是我想要的,我只想要,怎么调用这个生成出来的js,最终得到了最为直接又简单的方法,希望给能帮助到大家! document.addEventList ... 
- STM32 的加密实现(转)
			源:STM32 的加密实现 基于STM32F103的ID号对应用程序的保护方法 目的:对运行于STM32的嵌入式代码程序进行加密 编译环境:IAR Embedded System for ARM5.5 ... 
- Delphi XE7 Update1 下载破解、带源码和帮助安装序列号
			源:http://blog.csdn.net/tht2009/article/details/39157877 Delphi安装与破解 1.XE7 XE7Update1:http://altd.emb ... 
- Python+Selenuim测试网站,只能打开Firefox浏览器却不能打开网页的解决方法
			最开始我使用的Selenium版本为2.48,Firefox版本为37,自动化打开网站的时候,可以正常打开. 后来由于Firefox的自检测更新,版本更新为47,导致版本不兼容,自动化打开网站浏览器时 ... 
- 7 -- Spring的基本用法 -- 11...
			7.11 基于XML Schema的简化配置方式 Spring允许使用基于XML Schema的配置方式来简化Spring配置文件. 7.11.1 使用p:命名空间简化配置 p:命名空间不需要特定的S ... 
- linux devel包 和  非devel包的区别
			devel 包主要是供开发用,至少包括以下2个东西: 1. 头文件 2. 链接库 有的还含有开发文档或演示代码. 以 glib 和 glib-devel 为例: 如果你安装基于 glib 开发的程序, ... 
