[英]How to redirect on different view on refresh in AngularJS?
我正在AngularJS中開發一個應用程序。 基本上,我有一個“主頁”頁面和一個“新項目”。 在主頁中,我有一個菜單,其中包含“新項目”的鏈接。
我配置$ stateProvider如下:
$stateProvider.state('home', {
url: '/',
templateUrl: 'partials/home.jsp'
}).state('newproject', {
url: '/newproject',
templateUrl: 'partials/new-project.html'
})
所以,當我進入應用程序時,我在主頁。 然后我點擊“新項目”鏈接,我在“新項目”頁面。 現在網址是http:// myapp / newproject
我的問題是,當我刷新頁面時,我想在主頁上重定向,即使瀏覽器欄中的URL仍然是http:// myapp / newproject
我怎樣才能實現這一目標?
更新:
非常感謝您squiroid你的答案。 我使用了第二種解決方案,它就像一個魅力。 稍微澄清,以防萬一有人應該有同樣的問題,在重定向到家之前你必須防止默認操作。 所以正確的工作代碼是:
$rootScope.$on("$locationChangeStart", function(event, next, current) {
if(next==current && next=='/newproject')
event.preventDefault();
$state.go('home');
});
在“newproject”的控制器中使用它,它正在監聽你的刷新:
$rootScope.$on('$locationChangeStart', function(event) {
$state.go('home');
});
或者把它放在app.run();
$rootScope.$on("$locationChangeStart", function(event, next, current) {
if(next==current && next=='/newproject')
$state.go('home');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.