這裡要跟大家分享的是一個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> , 標題2:「@標題2」<br> }<br> }<br> });<br> app.directive('a',<br> 函數(){<br> var func = function() {<br> console.log('編譯者);<br> 返回函數() {<br> console.log('連結');<br> }<br> }<br> var 控制器 = 函數($scope, $element, $attrs, $transclude) {<br> //$transinclude :是指令標籤的複製者<br> console.log('控制器');<br> console.log($scope);<br> console.log($transinclude);<br> //$transinclude接受兩個參數,並可針對此複製的元素操作,<br> var node = $transclude(function(clone_element, 範圍) {<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> 嵌入:正確,<br> 限制: 'AE'<br> }<br> });<br> app.directive('編譯者(function() {<br> var func = function() {<br> console.log('編譯者);<br> 返回{<br> 前:函數(){<br> console.log(「連結前」)<br> },<br> 篇:函數(){<br> console.log('連結貼文')<br> },<br> }<br> }<br> 返回{<br> 限制:「AE”,<br> 編譯:func<br> }<br> })<br> app.directive('測驗', 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> 返回{編譯: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> //這又不明白啊 //第二個參數值<br> $attrs.$set('c-d', '11', true, 'c_d');<br> console.log($attrs);<br> }<br> return {<br> compile: function(){<br> return func<br> },<br> restrict: 'E'<br> }<br> });<br> app.controller('TestCtrl', function($scope){<br> $scope.show = function(v){console.log(v);}<br> });<br> <br> </div>