AngularJS的ng-class切换class

在angular中为我们提供了3种方案处理class: 
1:scope变量绑定

2:字符串数组形式。 
3:对象key/value处理。

第一种我们不推荐使用,看看其他两种解决方案:

字符串数组形式

字符串数组形式是针对class简单变化,具有排斥性的变化,true是什么class,false是什么class,其形如;

<span ng-class="{true: ‘btn01 hover‘, false: ‘btn01‘}[isActive]" ng-click="isActive=true">赛事介绍</span>
<span ng-class="{true: ‘btn02 ‘, false: ‘btn02 hover‘}[isActive]" ng-click="isActive=false">赛事合作</span>

AngularJS的controller代码

var app = angular.module(‘myApp‘, []);

app.controller(‘tabCtr‘, function ($scope) {
    //$scope.data = {};
    //$scope.data.show = true;//初始化scope下的变量

    $scope.isActive = true; 

})

对象key/value处理

<span ng-class="{btn01: true, hover: isActive}" ng-click="isActive=true">赛事介绍</span>
<span ng-class="{btn02: ‘true ‘, hover: !isActive}" ng-click="isActive=false">赛事合作</span>

AngularJS的controller代码

var app = angular.module(‘myApp‘, []);

app.controller(‘tabCtr‘, function ($scope) {
    //$scope.data = {};
    //$scope.data.show = true;//初始化scope下的变量

    $scope.isActive = true; 

})

配合ng-show实现tab切换功能

<span ng-class="{btn01: true, hover: isActive}" ng-click="isActive=true">赛事介绍</span>
<span ng-class="{btn02: ‘true ‘, hover: !isActive}" ng-click="isActive=false">赛事合作</span>

AngularJS的controller代码:

<div class="game_tab_change" ng-show="isActive">
<div class="game_desc_title">

<p>学子易贷<span>杯赛事介绍</span></p>
<p class="desc">此次联赛涵盖全国十个分赛区,分别为:北京、上海、广东、江苏、浙江、安徽、青岛、湖南、湖北、福建十个赛区。在赛期设置上分为春季赛、秋季赛和总决赛。其中春季赛所覆盖的赛区为:上海、江苏、浙江、安徽、青岛;秋季赛所覆盖赛区为:北京、广东、湖北、湖南、福建。</p>
<p>校区赛:<span>各校区附近网吧</span> 分区赛:<span>网咖</span> 赛区赛:<span>各赛区省会</span> 总决赛:<span>上海</span></p>
</div>
<div class="game_desc_time">
<p><span>4月8日-5月8日</span><span>5月21日-6月5日</span><span>6月10日-6月12日</span><span class="last">2016年6月18日</span></p>
<p><span>校园赛时间</span><span>分区赛时间</span><span>赛区赛时间</span><span class="last">总决赛时间</span></p>
</div>
</div>
<div class="game_tab_change" ng-show="isActive==false">
<div class="game_host">
<p>1.主办方:学子易贷</p>
<p>2.协办方:无锡市电子竞技协会</p>
<p>3.赞助方:.....</p>
<p>4.合作方:高校电竞社团</p>
<p class="Remark">
备注:高校电竞社团与学子易贷达成合作意向并成功帮助学子易贷完成高校 报名宣传以及后续工作可以登录学子易贷官网—“学子公益”申请社团活动 资金1000元,并升级成为学子易贷的高校合作社团,每月享受600元的社 团活动补助(寒暑假不享受)。
</p>
</div>

</div>

  

文章来自:http://www.cnblogs.com/ruoqiang/p/5228338.html

时间: 2024-11-05 14:38:58

AngularJS的ng-class切换class的相关文章

转走进AngularJs(八) ng的路由机制

走进AngularJs(八) ng的路由机制 2013-12-19 我来说两句 收藏 我要投稿 今天心情不错~,公司请了个中医来给按摩拔罐刮痧,一套下来那个爽啊~,趁着精力充沛了解了下Angular的路由机制,在此分享出来与大家共同学习. 在谈路由机制前有必要先提一下现在比较流行的单页面应用,就是所谓的single page APP.为了实现无刷新的视图切换,我们通常会用ajax请求从后台取数据,然后套上HTML模板渲染在页面上,然而ajax的一个致命缺点就是导致浏览器后退按钮失效,尽管我们可以

走进AngularJs(八) ng的路由机制

在谈路由机制前有必要先提一下现在比较流行的单页面应用,就是所谓的single page APP.为了实现无刷新的视图切换,我们通常会用ajax请求从后台取数据,然后套上HTML模板渲染在页面上,然而ajax的一个致命缺点就是导致浏览器后退按钮失效,尽管我们可以在页面上放一个大大的返回按钮,让用户点击返回来导航,但总是无法避免用户习惯性的点后退.解决此问题的一个方法是使用hash,监听hashchange事件来进行视图切换,另一个方法是用HTML5的history API,通过pushState(

走进AngularJs(二) ng模板中常用指令的使用方式

通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板开始入手是个不错方式,因为这部分内容相对简单好理解,而且是视图层的东西,大家都喜欢可以立马看得见的东西嘛.本篇我将搜罗模板中的常用指令一一测试,了解其使用方法,有点像背单词的感觉,会比较枯燥.不过对于初学,这样的枯燥是必须要经历的,开始~ 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下

angularjs 路由 ngRoute tab切换

<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="angular.min.js"></scrip

angularJs中ng一些内置的工具方法:

1.angular.equals: (1)两个参数满足===比较返回true;(2)两个参数是同一种类型,同时他们的每一个属性通过angular.equals都是返回true:(3)两个都是NAN(在js中虽然NAN==NAN为false,但是这里为true);(4)两个对象代表同一个正则表达式,如/abc/==/abc/(虽然在js中返回false) 2.angular.copy: 创建来源source的一个深度克隆对象,可以是一个对象或者数组.如果没有指定destination那么就会返回一

AngularJs应用页面切换优化方案

?? 葡萄城的一款尚在研发中的产品,对外名称暂定为X项目.其中使用了已经上市的wijmo中SpreadJS产品,另外,在研发过程中整理了一些研发总结分享给大家.如本篇的在页面切换的过程中优化方案,欢迎大家跟帖交流. 前言 AngularJs被用来开发单页面应用程序(SPA),利用AJAX调用配合页面的局部刷新,可以减少页面跳转,从而获得更好的用户体验.Angular的ngView及其对应的强大路由机制,是实现SPA应用的核心模块.本文所说的页面切换指的就是这个路由机制,即根据不同的url展示不同

基于angularJS和requireJS的前端架构

1.概要描述 1.1.angularJS描述:angularJS是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案.通过开发者呈现一个更高层次的抽象来简化应用的开发.最适合的就是用它来构建一个CRUD应用,它提供了非常方便的且统一高效的解决方案,其数据绑定.基本模版标识符.表单验证.路由.深度链接.组件重用.依赖注入.以及HTML标记等,最受欢迎的莫过于它的双向数据绑定. 1.2.requireJS描述:requireJS是来解决传统的页面加载script标记操作,通过其初始化配

AngularJS入门之如何快速上手

AngularJS(ng)是一个纯JS框架,AngularJS易于构建CRUD应用(CRUD意思是增删改查) 适用于以数据操作为主的SPA(Single Page Application)应用.基于jQuery对传统的DOM操作进行进一步的封装---使用MVC操作代替了所有的DOM操作.不再是"先查找元素再操作元素",所有的操作都是以"业务数据"为中心 搭建环境: 使用 AngularJS 的步骤:1.引入必需的js文件 : angular.js2.为父元素声明ng

《Node.js+MongoDB+AngularJS Web开发》读书笔记及联想

总体介绍 <Node.js+MongoDB+AngularJS Web开发>,于2015年6月出版,是一本翻译过来的书,原书名为<Node.js,MongoDB and AngularJS Web Development>,总的来说是一本讲述如何用Javascript进行B/S架构全栈开发的书. 该书主要讲解4种技术(框架),分为6个部分29个章节.4种技术即Node.js.MongoDB.Express.AngularJS,业内称为MEAN:6个部分我个人理解为: 基础(引言).

angularjs 总结 (Form)

Forms 为了让form以及控件.ngModel富有样式,可以增加以下class: 通过在元素上添加repuired  angularjs自动更具状态切换这些class ng-valid (验证成功) ng-invalid (验证失败) ng-pristine(从未输入过) ng-dirty(输入国) 在angular中,表单是FormController的一个实例.表单实例可以随意地使用name属性暴露到scope中(只可意会,不可言传啊..) <!DOCTYPE HTML> <ht