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";
    }]);
  • 相关阅读:
    蛇形填数
    开灯问题
    水仙花数
    C++Primer笔记-----day02
    C++Primer笔记-----day01
    面试智力题
    maven 打包197
    子系统 安装vsftpd197
    office 安装破解197
    oracle 创建多个数据库197
  • 原文地址:https://www.cnblogs.com/wxfallstar/p/6743799.html
Copyright © 2011-2022 走看看