在链接函数中,是否有更多的“角度”方式绑定一个函数到一个点击事件?
现在,我在做…
myApp.directive('clickme',function() { return function(scope,element,attrs) { scope.clickingCallback = function() {alert('clicked!')}; element.bind('click',scope.clickingCallback); } });
这是Angular的做法,还是这是一个丑陋的黑客?也许我不应该这么关心,但我是新的这个框架,并想知道做正确的方式做事情,特别是当框架向前迈进。
您可以在指令中使用控制器:
angular.module('app',[]) .directive('appClick',function(){ return { restrict: 'A',scope: true,template: '<button ng-click="click()">Click me</button> Clicked {{clicked}} times',controller: function($scope,$element){ $scope.clicked = 0; $scope.click = function(){ $scope.clicked++ } } } });
更多关于指令Angular guide.对我非常有帮助的是官方Angular博客About those directives的视频。