我有一个非常简单的AngularJS应用,其中有两条路线:
#/search
#/results
当我从一条路线导航到另一条路线时,一切都会按预期进行。获取所需的任何资源,并完美显示内容。
问题是当我从一条路线导航到同一条路线(即#/results到#/results)时,绝对没有任何 react 。从浏览器的 Angular 来看,我没有任何 react ,但我真的很希望AngularJS重新加载内容。
这一定很容易,但是我对此空白。有人可以帮我阐明一下吗?
谢谢,
乔恩
最佳答案
导航到同一页面时,浏览器忽略。
Angular.js与<a href="">
的默认行为无关。
您可以做的是创建一个自定义指令,该指令:$route.reload()
重新加载当前 View (路线)。 $location.path(newPath)
导航到其他 View 。
我做了一个example:app.directive('xref',function($route, $location){
return {
link: function(scope, elm,attr){
elm.on('click',function(){
if ( $location.path() === attr.xref ) {
$route.reload();
} else {
scope.$apply(function(){
$location.path(attr.xref);
});
}
});
}
};
});
在您的 View 中,只需创建:<a xref="/">Home</a>
<a xref="/links">Links</a>