angularjs 有个机制就是点击路由之后,再次点击的话不会刷新页面,需要点击另一个路由再点回来才行(或者右键刷新)。
directive 自定义指令
AngularJS 内置的指令外,我们还可以创建自定义指令。
可以使用 .directive 函数来添加自定义的指令。
要调用自定义指令,HTML 元素上需要添加自定义指令名。
function myHref($location, $route) {
return {
link(scope, element, attrs) {
scope.$watch('myHref', () => {
if (attrs.myHref) {
element.attr('href', attrs.myHref);
element.bind('click', () => {
scope.$apply(() => {
if ($location.path() === attrs.myHref) $route.reload();
});
});
}
});
},
};
}
export default function init(ngModule) {
ngModule.directive('myHref', myHref);
}
<a my-href="/urls">链接</a>