本实例主要展示controller和link参数的使用.以及多个指令同时作用的情况.
1 <!DOCTYPE html>
2 <html ng-app="myModule">
3 <head lang="en">
4 <meta charset="UTF-8">
5 <title></title>
6 </head>
7 <body>
8 <div>
9 <div>
10 <superman strength>动感超人---力量</superman>
11 </div>
12 <div>
13 <superman strength speed>动感超人---力量 速度</superman>
14 </div>
15 <div>
16 <superman strength speed light>动感超人---力量 速度 发光</superman>
17 </div>
18 </div>
19
20 </body>
21 <script type="text/javascript" src="../js/angular1.4.3.js"></script>
22 <script type="text/javascript">
23 var myModule=angular.module("myModule",[]);
24 myModule.directive("superman", function () {
25 return{
26 scope:{},
27 restrict:"AE",
28 controller:function($scope){
29 $scope.abilities=[];
30 this.addStrength= function () {
31 $scope.abilities.push("strength");
32 };
33 this.addSpeed= function () {
34 $scope.abilities.push("speed");
35 };
36 this.addLight= function () {
37 $scope.abilities.push('light');
38 };
39 },
40 link: function (scope,element,attrs) {
41 element.bind("mouseenter", function () {
42 console.log(scope.abilities);
43 })
44 }
45 }
46 });
47 myModule.directive("strength", function () {
48 return{
49 require:"^superman",
50 link: function (scope, element, attrs, supermanCtrl) {
51 supermanCtrl.addStrength();
52 }
53 }
54 });
55 myModule.directive("speed", function () {
56 return{
57 require:"^superman",
58 link: function (scope, element, attrs, supermanCtrl) {
59 supermanCtrl.addSpeed();
60 }
61 };
62 });
63 myModule.directive("light", function () {
64 return{
65 require:"^superman",
66 link: function (scope,element,attrs,supermanCtrl) {
67 supermanCtrl.addLight();
68 }
69 }
70 })
71 </script>
72 </html>