Heim  >  Artikel  >  Web-Frontend  >  Implementierungstechniken für benutzerdefinierte AngularJS-Anweisungen und Anweisungskonfigurationselemente

Implementierungstechniken für benutzerdefinierte AngularJS-Anweisungen und Anweisungskonfigurationselemente

小云云
小云云Original
2017-12-18 14:30:161217Durchsuche

Es gibt zwei Möglichkeiten, benutzerdefinierte AngularJS-Anweisungen zu schreiben. In diesem Artikel wird hauptsächlich die Methode zur Implementierung benutzerdefinierter Anweisungen und Anweisungskonfigurationselemente in AngularJS vorgestellt und die Implementierungsfähigkeiten von benutzerdefinierten AngularJS-Anweisungen und Anweisungskonfigurationselementen kurz zusammengefasst Beispiele Freunde, die es brauchen Sie können sich darauf beziehen, ich hoffe, es kann allen helfen.

Es gibt zwei Möglichkeiten, benutzerdefinierte AngularJS-Anweisungen zu schreiben:


//第一种
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";
}]);

Befehlskonfigurationselemente

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";
}]);

Verwandte Empfehlungen:

Benutzerdefinierte Befehlsmethode von Vue.js

Zusammenfassung der detaillierten Einführung benutzerdefinierter Anweisungen

Detaillierte Erklärung zum Erstellen benutzerdefinierter Anweisungen in AngularJS

Das obige ist der detaillierte Inhalt vonImplementierungstechniken für benutzerdefinierte AngularJS-Anweisungen und Anweisungskonfigurationselemente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn