定义一个tab切换的指令:

指令的文件结构

Js/directives/tab

tab.html

tab.js

  1. tab.html
  2. <style>
  3. .my-li-style{
  4. line-height: 30px;
  5. margin-right: 10px;
  6. border-radius: 3px;
  7. height:30px;
  8. cursor: pointer;
  9. }
  10. .tabactive{
  11. color: #fff;
  12. background:#f48a36;
  13. }
  14. </style>
  15. <div class="amdin-nav">
  16. <ul class="list-inline adminAction-listHeader">
  17. <li class="my-li-style" ng-repeat="tab in tab_list"
  18.        ng-click="tab_click(tab.state)"
  19. ng-class={tabactive:current_state==tab.state}
  20. ui-sref="{{tab.state}}">{{tab.name}}</li>
  21. </ul>
  22. </div>
  1. Tab.js:
  2. define(["app"],function(myapp){
  3. myapp.directive('mytab',["$state",function($state){
  4. return {
  5. scope:{
  6. data:"="
  7. },
  8. templateUrl:'js/directives/tab/tab.html',
  9. link:function(s,ele,attrs){
  10. s.current_state=$state.current.name;//初始化(获得当前的路由状态)
  11. s.tab_click=function(cstate){//每次触发此事件,就传递过来状态值
  12. s.current_state=cstate;
  13. }
  14.  s.$watch("data",function(n_data){//监听值的改变
  15. s.tab_list=n_data;
  16. })
  17. }
  18. };
  19. }]);
  20. });
  1. 控制器:
  2. //创意界面的权限控制器
  3. define(["app",'services/zct_get_my_right','directives/tab/tab'], function (myapp) {
  4. myapp.controller('ideas_first_ctrl',
  5. ['$scope','$rootScope','$state','get_my_right', function (s,rs,$state,getRight) {
  6.        var my_right=getRight.get_right(localStorage.permission);
  7. s.idea_tab=[
  8. {name:"全部创意",state:"home.ideas.allIdeas"},
  9. {name:"我的创意",state:"home.ideas.myIdeas"},
  10. ];
  11. }])
  12. });
  1. Html:
  2. <div class="ideas-list">
  3. <div class="my-row">
  4.  
  5. <mytab data="idea_tab"></mytab>
  6.  
  7. <div class=" list-content" ui-view="part" ></div>
  8. </div>
  9. </div>

  

自己定义一个tab指令的更多相关文章

  1. angular.js的ng-app 指令定义一个 AngularJS 应用程序。

    <!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...

  2. 用CIL写程序:定义一个叫“慕容小匹夫”的类

    前文回顾: <用CIL写程序:你好,沃尔德> <用CIL写程序:写个函数做加法> 前言: 今天是乙未羊年的第一天,小匹夫先在这里给各位看官拜个年了.不知道各位看官是否和匹夫一样 ...

  3. ConstraintLayout+radioGroup做一个tab.简单好用。

    主页tab是必须会有的,各种实现也很多.各有千秋.但目标都是简单.可控.今天用ConstraintLayout+radioGroup做一个tab.简单性可控性都还可以.本文目的把ConstraintL ...

  4. 19 Flutter 自定义AppBar 定义顶部Tab切换 底部Tab结合顶部Tab实现类似头条页面布局(27分36秒)

    Flutter AppBar自定义顶部导航按钮图标.颜色以及TabBar定义顶部Tab切换. leading:在标题前面显示的一个控件,在首页通常显示应用的logo:在其他界面通常显示为付汇按钮. t ...

  5. AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换

    一.Flutter AppBar 自定义顶部按钮图标.颜色 leading   在标题前面显示的一个控件,在首页通常显示应用的 logo:在其他界面通常显示为返回按钮 title  标题,通常显示为当 ...

  6. java怎么定义一个二维数组?

    java中使用 [][] 来定义二维数组 定义数组时也可同时初始化下面是一些例子float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][ ...

  7. 将对象的所有属性名放到一个数组中 || 获得对象的所有属性名 || return;不具有原子性 || 怎样自己制作异常|| 判断对象有没有某个属性 || 当传递的参数比需要的参数少的时候,没有的值会被赋予undefined || 获得函数实际传递的参数 || 怎么用函数处理一个对象 || 用一个名字空间定义一个模块所有的函数 || 给一个对象添加方法

    获得对象的所有属性名 || 将对象o的所有属性名放到数组中 var o = {x:1,y:2,z:3}; var arr = []; var i = 0; for(arr[i++] in o){};/ ...

  8. HTML5移动Web开发(六)——定义一个内容策略

    通过分析工具搜集到的数据,你可以定义一个内容策略,这对已经有了一个桌面网站的人是非常有用的. 1.确认你已经把分析工具的Javascript代码嵌入到网站中.(http://www.cnblogs.c ...

  9. 如何去定义一个jquery插件

    扩展jquery的时候.最核心的方法是以下两种: $.extend(object) 可以理解为jquery添加一个静态方法 $.fn.extend(object) 可以理解为jquery实例添加一个方 ...

随机推荐

  1. HDU1595-最短路-删边

    find the longest of the shortest Time Limit: 1000/5000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  2. react 子组件改变父组件状态

    class Father extends Component {     construtor(props){         super(props);         this.state={   ...

  3. jQuery-瀑布流的取巧做法分享

      分析:瀑布流,做法有2种 (1)绝对定位方案:每个单元格设置为绝对定位,通过计算,分别设置 top , left 即可实现 (2)浮动方案:弄N列布局(浮动),然后图片数据,按顺序依次插入,如N为 ...

  4. jQuery之-拼图小游戏

    在线实例:http://lgy.1zwq.com/puzzleGame/ 源代码思路分析: [一]如何生成图片网格,我想到两种方法: (1)把这张大图切成16张小图,然后用img标签的src (2)只 ...

  5. poj 1724 ROADS 很水的dfs

    题意:给你N个城市和M条路和K块钱,每条路有话费,问你从1走到N的在K块钱内所能走的最短距离是多少 链接:http://poj.org/problem?id=1724 直接dfs搜一遍就是 代码: # ...

  6. eureka-3-常用注解

    @EnableDiscoveryClient @EnableEurekaClient 上面两个注解都是用在应用的启动类上面,声明这是一个Eureka Client ,现在说明两个注解的区别. spri ...

  7. Java发送短信

    1.接口使用介绍 发送短信肯定需要使用第三方接口,Java本身是肯定不能直接发送短信的.第三方接口有很多,这里直接找个正规靠谱一点的学习一下 这里使用了中国网建(http://sms.webchine ...

  8. iOS中几种数据持久化方案

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  9. 写给iOS开发者的React Native学习路线(转)

    我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...

  10. html dom SetInterVal()

    HTML DOM setInterval() 方法 HTML DOM Window 对象 定义和用法 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInt ...