gpt4 book ai didi

javascript - 如何在 AngularJS 中刷新不同 View 时重定向?

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:56 24 4
gpt4 key购买 nike

我正在使用 AngularJS 开发一个应用程序。基本上,我有一个“主页”页面和一个“新项目”。在主页上,我有一个带有“新项目”链接的菜单。

我按如下方式配置了 $stateProvider :

$stateProvider.state('home', {
url: '/',
templateUrl: 'partials/home.jsp'
}).state('newproject', {
url: '/newproject',
templateUrl: 'partials/new-project.html'
})

所以,当我进入应用程序时,我在主页中。然后我点击“新项目”链接,我在“新项目”页面。现在 url 是 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” Controller 中使用它,它正在监听你的刷新:

$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');

});

关于javascript - 如何在 AngularJS 中刷新不同 View 时重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28072092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com