これは、angularJS で $attrs メソッドを使用する例です。 コードをコピー コードは次のとおりです: 无标题文档 http://localhost:81/js/jquery.js</a>"><br> http://localhost:81/js/angular.min.js</a>"><br> a_directive 原始内容 原始内容 原始内容 修改 这里 <br> var app = angular.module('Demo', [], angular.noop);<br> app.controller("TestCtrl",<br> function($scope) {<br> $scope.name = "qihao";<br> });<br> app.directive("t",<br> function() {<br> return {<br> controller : function($scope){$scope.name = "qq"},<br> template : "<div>test:implementToParent{{name}}</div>",<br> replace : true,<br> scope : true //作用域是继承的,默认就是继承的<br> }<br> });<br> app.directive("t2",<br> function() {<br> return {<br> controller : function($scope){$scope.name = "nono"},<br> template : "<div>test:implementToParent{{name}}</div>",<br> replace : true,<br> restrict : "AE"<br> }<br> });<br> app.directive("t3",<br> function() {<br> return {<br> template : "<div>test:implementToParent_titleIs:{{title}}<br>title2Is:{{title2}}</div>"、<br> 置換: true、<br> 制限: "AE"、<br> スコープ: {<br> タイトル : "@t3"、<br> title2 : "@title2"<br> }<br> }<br> });<br> app.directive('a',<br> function() {<br> var func = function() {<br> console.log('コンパイル');<br> return function() {<br> console.log('リンク');<br> }<br> }<br> var コントローラー = function($scope, $element, $attrs, $transclude) {<br> //$transclude :是命令标签の复制体<br> console.log('コントローラー');<br> console.log($scope);<br> console.log($transclude);<br> //$transclude は 2 つのパラメータを受け取り、このクローンの要素を操作できます。<br> var node = $transclude(function(clone_element,scope) {<br> $element.append(clone_element);<br> $element.append("<span>spanTag___</span>");<br> console.log(clone_element);<br> console.log('--');<br> console.log(スコープ);<br> });<br> console.log(ノード);<br> }<br> 戻り値 {<br> コンパイル: func,<br> テンプレート: "<h1 ng-transclude></h1>",<br> コントローラー: コントローラー、<br> トランスクルード: true、<br> 制限: 'AE'<br> }<br> });<br> app.directive('compile',function() {<br> var func = function() {<br> console.log('コンパイル');<br> 戻り値 {<br> pre: function() {<br> console.log('リンク前')<br> }、<br> post: function() {<br> console.log('リンク投稿')<br> }、<br> }<br> }<br> 戻り値 {<br> 制限: "AE"、<br> コンパイル: func<br> }<br> })<br> app.directive('test', function(){<br> var func = function($element, $attrs){<br> console.log($attrs);<br> $attrs.$observe('a', function(new_v){<br> console.log(new_v);<br> });<br> }<br> return {コンパイル: func,<br> 制限: 'E'}<br> });<br> app.controller('TestCtrl', function($scope){<br> $scope.a = 123;<br> });<br> app.directive('te', function(){<br> var func = function($scope,$element, $attrs,$ctrl){<br> console.log($ctrl)<br> //$attrs.$set. これはプロパティ設定b、值はooo、これはこれです<br>$attrs.$set('b', 'ooo');<br> $attrs.$set('a-b', '11');<br> //これは少し不明瞭です //2 番目のパラメータの値<br> $attrs.$set('c-d', '11', true, 'c_d');<br> console.log($attrs);<br> }<br> return {<br> コンパイル: function(){<br> 戻り関数<br> },<br> 制限: 'E'<br> }<br> });<br> app.controller('TestCtrl', function($scope){<br> $scope.show = function(v){console.log(v);}<br> });<br> </body><br> </html><br> <br> </div> この記事はここまでです。angularJS での $attrs の使用について新たに理解していただければ幸いです。 <p></p>