zoukankan      html  css  js  c++  java
  • AngularJs自定义指令详解(2)

    一些用于定义行为的指令,可能不需要使用template参数。

    当指定template参数时,其值可以是一个字符串,表示一段HTML文本,也可以是一个函数,这函数接受两个参数:tElement和tAttrs。

    前者用的较为普遍,而且也好理解。后者暂不理会。

    下面是一个例子,在模板中使用rootScope里定义的变量:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <script src="../lib/angular-1.3.16/angular.min.js"></script>
        <script src=""></script>
        <title></title>
        <script language="JavaScript">
            angular.module('app',[])
                    .run(function($rootScope){
                        $rootScope.greeting = 'World';
                    })
                    .directive('myDirective',function(){
                        return{
                            template:'Hello {{greeting}}!'
    
                        };
                    });
        </script>
    </head>
    <body ng-app="app">
    <div my-directive></div>
    </body>
    </html>

    审查元素看看:

    果然,在解析指令里的greeting变量时,AngularJs会跑到$rootScope里找。

    那么,加个控制器试试看:

            angular.module('app',[])
                    .run(function($rootScope){
                        $rootScope.greeting = 'World';
                    })
                    .controller('myController',function($scope){
                        $scope.greeting = 'AngularJs';
                    })
                    .directive('myDirective',function(){
                        return{
                            template:'Hello {{greeting}}!'
    
                        };
                    });

    别忘了:

    <div ng-controller="myController" my-directive></div>

    在浏览器中查看,输出的是:

    Hello AngularJs!

    可见指令使用的是控制器创建的子作用域$scope

    下一篇文章会继续深入指令的作用域。

  • 相关阅读:
    hdu 1599 floyd 最小环(floyd)
    poj 1328 Radar Installation(贪心)
    poj 2488 A Knight's Journey(dfs)
    hdu 2544 最短路 (dijkstra)
    hdu 2015 偶数求和(水)
    hdu 2063 过山车(二分图最大匹配基础)
    hdu 1052 Tian Ji -- The Horse Racing(贪心)
    hdu 2122 Ice_cream’s world III(最小生成树)
    RabbitMQ中 exchange、route、queue的关系
    Windows安装Rabbitmq
  • 原文地址:https://www.cnblogs.com/sagacite/p/4618635.html
Copyright © 2011-2022 走看看