我一直在尋找修改AngularJS ng-click指令來添加一些附加功能。關於如何使用它,我有一些不同的想法,但最簡單的方法是將Google Analytics跟蹤添加到所有ng點擊,另一個是防止雙擊。在AngularJs中修飾ng-click指令
要做到這一點,我的第一個想法是使用裝飾。因此,像這樣:
app.config(['$provide', function($provide) {
$provide.decorator('ngClickDirective', ['$delegate', function($delegate) {
// Trigger Google Analytics tracking here
return $delegate;
}]);
}]);
但是作爲裝飾是在實例解僱,而不是當該指令的表達得到滿足,這將不起作用。因此,在這種情況下,它會在加載指令的元素進行分析時,而不是單擊元素時進行分析。
所以就真正的問題。裝飾器是否有一些方法來獲取指令實例化的元素?如果我可以從委託人到達元素,我可以綁定自己的點擊事件以觸發除ng鍵之外的操作。
如果不是,你會如何去添加一些ng-clicks?
啊。我太專注於尋找元素,而不是僅僅做一個新的功能:P謝謝! –
@ErikHonn沒問題。我從來不需要使用裝飾器,這對我來說無疑是一個有趣的練習。 :) –
我不認爲這個工作了,因爲當我嘗試訪問代碼中的新範圍屬性是不可用的。這裏是小提琴http://jsfiddle.net/377vhfm4/3/ –