zoukankan      html  css  js  c++  java
  • AngularJS自定义指令及指令配置项

    两种写法

    //第一种
    angular.module('MyApp',[])
    .directive('zl1',zl1)
    .controller('con1',['$scope',func1]);
    
    function zl1(){
       var directive={
           restrict:'AEC',
          template:'this is the it-first directive',
        };
        return directive;
    };
    
    function func1($scope){
        $scope.name="alice";
    }
    
    //第二种
    angular.module('myApp',[]).directive('zl1',[ function(){
      return {
        restrict:'AE',
        template:'thirective',
        link:function($scope,elm,attr,controller){
          console.log("这是link");
        },
        controller:function($scope,$element,$attrs){
          console.log("这是con");
        }
      };
    }]).controller('Con1',['$scope',function($scope){
      $scope.name="aliceqqq";
    }]);

    指令配置项

    angular.module('myApp', []).directive('first', [ function(){
        return {
            // scope: false, // 默认值,共享父级作用域
            // controller: function($scope, $element, $attrs, $transclude) {},
            restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
            template: 'first name:{{name}}',
        };
    }]).directive('second', [ function(){
        return {
            scope: true, // 继承父级作用域并创建指令自己的作用域
            // controller: function($scope, $element, $attrs, $transclude) {},
            restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
            //当修改这里的name时,second会在自己的作用域中新建一个name变量,与父级作用域中的
            // name相对独立,所以再修改父级中的name对second中的name就不会有影响了
            template: 'second name:{{name}}',
        };
    }]).directive('third', [ function(){
        return {
            scope: {}, // 创建指令自己的独立作用域,与父级毫无关系
            // controller: function($scope, $element, $attrs, $transclude) {},
            restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
            template: 'third name:{{name}}',
        };
    }])
    .controller('DirectiveController', ['$scope', function($scope){
        $scope.name="mike";
    }]);
  • 相关阅读:
    155. 最小栈
    160. 相交链表
    PAT 1057 Stack
    PAT 1026 Table Tennis
    PAT 1017 Queueing at Bank
    PAT 1014 Waiting in Line
    PAT 1029 Median
    PAT 1016 Phone Bills
    PAT 1010 Radix
    PAT 1122 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/wxfallstar/p/6743799.html
Copyright © 2011-2022 走看看