【发布时间】:2023-03-11 18:35:01
【问题描述】:
我想为我的网站的受限操作创建一个 angularjs 指令。例如,我有一个锚点会触发角度的路线变化,但在此之前我想显示一个模式登录对话框。
我可以使用preventDefault 停止路由,但无法恢复路由。我也尝试过虚拟事件触发(element.triggerHandler('click')),但没有成功。
我想将该指令不仅应用于路由更改,还应用于任何其他操作。
.directive('loginRequired', ['AuthService', 'AUTH_EVENTS',
function(AuthService, AUTH_EVENTS) {
return {
link : function(scope, element, attrs) {
element.on('click', function(e) {
if (!AuthService.isAuthenticated()) {
e.preventDefault();
$('#myModal').modal();
scope.$on(AUTH_EVENTS.loginSuccess, function() {
//resume event
});
console.log('$scope.$on happened');
}
});
}
}
}]);
有什么建议吗?
【问题讨论】:
标签: jquery angularjs angularjs-directive jquery-events