W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
官方代碼中的 ng-show 等算是我說的這種類型。使用時主要是在節(jié)點(diǎn)加添加一個屬性值以附加額外的功能??匆粋€簡單的例子:
<p color="red">有顏色的文本</p> <color color="red">有顏色的文本</color> <script type="text/javascript"> var app = angular.module('Demo', [], angular.noop); app.directive('color', function(){ var link = function($scope, $element, $attrs){ $element.css('color', $attrs.color); } return {link: link, restrict: 'AE'}; }); angular.bootstrap(document, ['Demo']); </script>
我們定義了一個叫 color 的指令,可以指定節(jié)點(diǎn)文本的顏色。但是這個例子還無法像 ng-show 那樣工作的,這個例子只能渲染一次,然后就無法根據(jù)變量來重新改變顯示了。要響應(yīng)變化,我們需要手工使用 scope 的 $watch 來處理:
<div ng-controller="TestCtrl"> <p color="color">有顏色的文本</p> <p color="'blue'">有顏色的文本</p> </div> <script type="text/javascript"> var app = angular.module('Demo', [], angular.noop); app.directive('color', function(){ var link = function($scope, $element, $attrs){ $scope.$watch($attrs.color, function(new_v){ $element.css('color', new_v); }); } return link; }); app.controller('TestCtrl', function($scope){ $scope.color = 'red'; }); angular.bootstrap(document, ['Demo']); </script>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: