//宣告ng-app var demoApp = angular.module("demoapp", []); //ng-app底下掛載ng-controller demoApp.controller("demoCtrl", function($scope) { $scope.name = 'Ryan'; }); //ng-app底下掛載directive demoApp.directive('introductionDirective', function() { return { restrict: 'E', replace: true, template: '<p style="color:{{color}}">My name is {{name}}</p>', link: function(scope, elem, attrs) { //綁「滑鼠移上事件mouseover」上此元素 elem.bind('mouseover', function() { scope.$apply(function() { scope.color = 'red'; }); }); //綁「滑鼠離開事件mouseout」上此元素 elem.bind('mouseout', function() { scope.$apply(function() { scope.color = 'black'; }); }); } }; });
<div ng-app="demoapp"> <div ng-controller="demoCtrl"> <h1>AngularJs directive link Demo</h1> <h3>利用directive的link實做「滑鼠移到文字上會改變顏色」</h3> <introduction-directive></introduction-directive> </div> </div>