У меня есть угловая директиву detectFocus
как:Как определить изменение местоположения в угловой директиве?
app.directive("detectFocus", function ($focusTest, $location, $rootScope) {
return {
restrict: "A",
scope: {
onFocus: '&onFocus',
onBlur: '&onBlur',
},
link: function (scope, elem) {
$rootScope.$on('$locationChangeSuccess', function (event, newUrl, oldUrl) {
return;
});
elem.on("focus", function() { console.log("focus");
scope.onFocus();
$focusTest.setFocusOnBlur(true);
});
elem.on("blur", function() { console.log("blur");
scope.onBlur();
if($focusTest.getFocusOnBlur())
elem[0].focus();
});
}
}
});
Эта директива проверяет два фокуса и размытие событий, так что есть ли способ проверить изменение местоположения этой директивы.
Вы можете попробовать: https://docs.angularjs.org/api/ng/service/$location#$locationChangeSuccess – Aer0
какой маршрутизатор вы используете? У них есть события routeChange – charlietfl
ui-router/.............. – lakshay