Angularjs 拦截对控制器的呼叫
我可以拦截对控制器方法的调用吗? 我正在搜索Castle Windsor Proxy objects interceptos之类的东西,以实现AOP之类的东西 例如:Angularjs 拦截对控制器的呼叫,angularjs,Angularjs,我可以拦截对控制器方法的调用吗? 我正在搜索Castle Windsor Proxy objects interceptos之类的东西,以实现AOP之类的东西 例如: <button ng-click="buttonClick()"/> <button ng-click="i = i + 1"/> 我想了解如何在单击执行之前和之后执行一些代码 有什么想法吗?您可以添加一个指令来拦截任何元素的单击事件 HTML: [我不确定是否可以实现一种通用方法] 下面是一个结合了
<button ng-click="buttonClick()"/>
<button ng-click="i = i + 1"/>
我想了解如何在单击执行之前和之后执行一些代码
有什么想法吗?您可以添加一个指令来拦截任何元素的单击事件 HTML:
[我不确定是否可以实现一种通用方法] 下面是一个结合了Dennis方法的JSFIDLE 您只需重用现有的ngclick指令
myApp.directive('ngClick', function() {
return {
restrict:'A',
link: {
pre: function(scope,element){
element.bind('click',function () {
console.log('interceptor');
// scope.$eval(clickAction);
// Do something after executing the click action
});
}
}
}
});
我想要更通用的,但现在我要用它了。谢谢,如果您注意到更多关于它的信息,请告诉我;)正如我所说的,ng click只是一个例子。。。这不是我在搜索。感谢
app.directive('interceptClick', function() {
return {
priority: 1,
terminal: true,
link: function (scope, element, attr) {
var clickAction = attr.ngClick;
element.bind('click',function () {
// Do something before executing the click action
scope.$eval(clickAction);
// Do something after executing the click action
});
}
};
});
myApp.directive('ngClick', function() {
return {
restrict:'A',
link: {
pre: function(scope,element){
element.bind('click',function () {
console.log('interceptor');
// scope.$eval(clickAction);
// Do something after executing the click action
});
}
}
}
});