我真的很喜欢ng-click
Angular 中的新指令现在如何自动包含触摸事件的功能。但是,我想知道是否可以从我的自定义指令访问该触摸事件服务?我有很多指令要求我将点击事件绑定到给定的元素,但我只是使用典型的 jquery 语法(例如:)来执行此操作element.on('click', function(){ ... })
。有没有办法可以将ng-click
事件绑定到指令中的元素?无需ng-click
在我的视图的 HTML 中手动将标签放在我的元素上......?
我希望能够利用点击和触摸事件的力量。我显然可以导入一个库(例如HammerJS或QuoJS),但我宁愿不必这样做,特别是因为 Angular 已经在这样做了。
我可以访问该$swipe
服务并将不同的元素绑定到该服务,但是有类似的服务ngTouch
吗?
作为参考,这是我何时想要执行此操作的示例:
mod.directive('datepicker', ['$timeout', function($timeout){
return {
link: function(scope, elem, attrs){
var picker = new DatePicker();
elem.on('click', function(e){
picker.show();
});
// I would rather do something like:
// elem.on('ngTouch', function(){ ... });
//
// or even:
// $ngTouch.bind(elem, {'click': ..., 'touch': ...});
}
}
}]);
更新:如下所述,该ng-click
指令的源代码在此处。谁能找到一种利用该代码并将其转变为“可绑定”服务的方法?