簡體   English   中英

如何在AngularJS中重新定位刷新的不同視圖?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM