1.指令  transclude 保留原来的内容 replace 去掉<my-directive>指令

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div ng-app="a">
    <my-directive><div>这是原来的<p>this is p</p></div></my-directive>
</div>
<script>
    var app = angular.module('a', []);
    app.directive('myDirective', function () {
        return{
            template:'<div>this is directive<div ng-transclude=""></div></div>',
            transclude:true,
            replace:true
        }
    });
</script>

2.指令绑定函数

<body ng-app="a">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div  ng-controller="ctrl1">
    <my-directive>鼠标移上来</my-directive>
</div>
<!--指令绑定函数 ,借助 link -->
<script>
    var app = angular.module('a', []);
    app.controller('ctrl1', function ($scope) {
        $scope.load= function () {
            console.log("loading..");
        }
    })
    app.directive('myDirective', function () {
        return{
            link: function (scope,element,attrs) {
                element.bind('mouseover', function () {
                  //  scope.load();
                    scope.$apply("load()");   // 两种方式
                })
            }
        }
    });
</script>

3.指令复用,绑定不同函数

<body ng-app="a">

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<div  ng-controller="ctrl1">
    <my-directive howToLoad="load()">鼠标移上来1</my-directive>
</div>
<div  ng-controller="ctrl2">
    <my-directive howToLoad="load2()">鼠标移上来2</my-directive>
</div>
<!--指令复用,绑定不同函数 ,要添加不同属性 howToLoad -->
<script>
    var app = angular.module('a', []);
    app.controller('ctrl1', function ($scope) {
        $scope.load= function () {
            console.log("loading..");
        }
    })
    app.controller('ctrl2', function ($scope) {
        $scope.load2= function () {
            console.log("loading.22.");
        }
    })
    app.directive('myDirective', function () {
        return{
            link: function (scope,element,attrs) {
                element.bind('mouseover', function () {
                    scope.$apply(attrs.howtoload);
                })
            }
        }
    });
</script>

4.独立指令  $scope:{} 使每个复用的hello指令不受影响,在第一个hello输入值时,第二个hello不受影响

<body ng-app="a">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<hello></hello><br/>
<hello></hello>
<script>
    var app = angular.module('a', []);
    app.directive('hello', function () {
        return{
            template:'<input type="text" ng-model="name">{{name}}',
            scope:{}
        }
    })
</script>

5.指令scope @

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
隔离作用域中把 myText同dom中的your-text属性绑定
<div ng-app="a">
    <hello url="http://www.baidu.com" your-text="sohu"></hello>
</div>
<script>
var app=angular.module('a',[]);
    app.directive('hello', function () {
        return{
            template:'<div><a href="{{url}}">{{myText}}</a></div>',
            replace:true,
            scope:{
                myText:'@yourText',
                url:'@'
            }
        }
    })
</script>

最新文章

  1. SQL批量增加修改数据
  2. 如何让页眉随章节的不同而变化(Word 2010)
  3. 数据结构与算法分析——C语言描述 第三章的单链表
  4. QRCode二维码生成
  5. css不同浏览器兼容性调试 --- 转自: [http://wo.115.com/?ct=detail&amp;id=31733&amp;bid=1018841]
  6. [leetcode]_Path Sum I &amp;&amp; II
  7. 学习jQuery在表单信息修改之中的常用方法;
  8. Java [Leetcode 337]House Robber III
  9. 大型网站用什么技术比较好,JSP,PHP,ASP.NET
  10. 【转】Android 混淆代码总结
  11. Words-specialty
  12. 使用shell操作HDFS
  13. .NET之IOC控制反转运用
  14. 利用 Google Chart API 生成二维码大小不一致
  15. debian 9 开机启动
  16. asp.net core Csc任务不支持SharedCompilationId参数,请确认改参数存在于此任务中,并且是可设置的公共实例属性
  17. Ubuntu18.04 VMwareTools安装方法
  18. 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry
  19. nw.js---开发一个百度浏览器
  20. ES启动报错之引导检测失败

热门文章

  1. 【GoLang】tcmalloc &amp;&amp; jemalloc
  2. 【架构】RPC 使用 Haproxy、keepalive作为负载均衡
  3. Install OE and BitBake
  4. ACM/ICPC 之 拓扑排序+DFS(POJ1128(ZOJ1083)-POJ1270)
  5. Redis Sentinel高可用架构
  6. Kinect SDK 安装失败
  7. centos搭建SVN三部曲
  8. 【python】入门学习(一)
  9. 【mongo】Can&#39;t take a write lock while out of disk space错误
  10. WebFrom 的js日期控件