Я хочу создать директиву angularjs для ограниченных действий на моем веб-сайте. Например, у меня есть привязка, которая запускает изменение маршрута в angular, но перед этим я хочу показать модальный диалог входа в систему.
Я могу остановить маршрутизацию с помощью 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');
}
});
}
}
}]);
Любое предложение?