AngularJS之默认样式
来源:互联网 发布:json value processor 编辑:程序博客网 时间:2024/05/19 16:03
先解释一下题目是个什么意思。
举个栗子:
页面上一组tab页,加载页面的时候肯定会把第一个tab页设置为激活(active)的状态。那么,在jQuery下的写法肯定就是
<script> $(function(){ $('ul li').eq(0).addClass('active'); });</script>
在这我tab是用的 bootstrap
的nav-tabs.
但是用了 AngularJS 以后,我的tab页是通过动态获取json拼出来的。具体代码如下:
html:
<div ng-controller="menuCtrl"> <ul class="nav nav-tabs" id="menus"> <li ng-repeat="menu in menus" > <a href="javascript:void(0)" ng-click="changeLink($event)" data-toggle="tab" data-url="{{menu.url}}"> {{menu.title}} </a> </li> </ul> <div ng-include="url"></div> </div>
controller:
angular.module('angularJSApp',[]) .controller('menuCtrl',function($scope,$http,$element){ $http.get('json/nav.json').success(function(result){ $scope.menus = result; $scope.url = result[0].url; }); $scope.changeLink = function(event){ $scope.url = $(event.target).attr('data-url'); }; });
看html代码可以看出来,我的页面是通过ng-repaet循环遍历出来的,并不是写死的。这个时候你再用jQuery获取ul,获取ul的子节点的时候就获取不到了,当然addClass肯定也就添加不上。这个时候就需要用到了,AngularJS的一个指令ng-class
添加样式。写法如下:
ng-class="{'active':$index === 0}"
{}里边的写法实际上类似于一个if判断。对于我当前的这个例子来说。就是获取当前li的索引index判断当前的index是否是0。如果是0 就说明当前的这个li就是第一个。这个时候满足条件,就会把指定的类添加到当前li上。
ng-class="{'yourClassName':$index === 0}"
未完待续….后续涉及到 ng-class 继续回来补充
0 0
- AngularJS之默认样式
- AngularJS之表格设置样式
- CSS布局之元素默认样式
- html之改变ol默认样式
- 结构-行为-样式-angularJs
- angularjs控制css样式
- angularJS 样式相关指令
- AngularJS动态切换样式
- AngularJS控制单元格样式
- AngularJS添加样式
- AngularJS 设置元素样式
- AngularJS点击添加样式
- angularjs(排序)+css样式
- Angularjs 阻止默认事件
- 菜鸟CSSer之-重置浏览器默认样式
- android开发之修改ListView默认滑动条样式
- krpano全景之修改默认热点样式和载入效果
- html默认样式和浏览器默认样式
- nextInt()与nextLine()方法连用时问题
- Day44:Programing Game
- 10.23
- HTML—基础
- 3-5 学生成绩统计
- AngularJS之默认样式
- java反射 java.lang.IllegalArgumentException: wrong number of arguments
- HDU:1008 Elevator
- Java熟悉到陌生之线程之Callable接口
- Android中.9图片的含义及制作教程
- HDU 4287 Intelligent IME(字符串)
- 3-6 静态数据成员与静态成员函数
- java之poi操作excel-基本的excel读写操作
- 双缓冲技术