gpt4 book ai didi

javascript - Angular ui-router 和具有嵌套状态的后退按钮

转载 作者:行者123 更新时间:2023-11-28 06:01:33 26 4
gpt4 key购买 nike

我在嵌套状态、解析和浏览器后退按钮方面遇到了麻烦。在我的状态配置下面,它由一个抽象状态和 2 个子状态组成,一个用于查看配置文件,一个来预订它。通常的流程是打开个人资料页面,然后单击某个链接并打开请求页面;这很好用。但是,如果我单击 profile-request 页面上的浏览器后退按钮,ProfileViewController 会被执行,但 profileData 不会被解析。有没有办法按原样重新加载以前的 View (无需再次渲染)或在执行 Controller 之前强制 promise 解析?

$stateProvider
.state('public', {
abstract: true,
templateUrl: 'app/public.html'
})
.state('public.profile-view', {
url: '/profile/:slug',
templateUrl: 'app/profile/profile.view.html',
controller: 'ProfileViewController',
controllerAs : 'vm',
resolve: {
profileData: function($stateParams, Profiles) {
return Profiles.query({ slug: $stateParams.slug });
}
}
})
.state('public.profile-request', {
url: '/profile/request/:slug',
templateUrl: 'app/profile/profile.request.html',
controllerAs: 'vm',
controller: 'ProfileRequestController',
resolve: {
profileData: function($stateParams, Profiles) {
return Profiles.query({ slug: $stateParams.slug });
}
}
})

最佳答案

您是否尝试过在配置文件中缓存 profileData,然后在 ProfileViewController 中尝试获取缓存数据(如果存在)。

另一个选项是将 profileData 存储在 $rootScope 中。

关于javascript - Angular ui-router 和具有嵌套状态的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37228386/

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