gpt4 book ai didi

AngularJS ui-router 状态不会在后面刷新

转载 作者:行者123 更新时间:2023-12-03 17:52:04 26 4
gpt4 key购买 nike

我有一个带有 2 个状态的应用程序设置,A 和 A.B 是这样完成的:

$stateProvider.state('A', {
url: "/A/{aId}",
controller: 'AController',
templateUrl: function($stateParams) {
return "/A/" + $stateParams.aId + "/layout";
}
}).state('A.B', {
url: "/B/{bId}",
controller: 'BController',
templateUrl: function($stateParams) {
return "/A/" + $stateParams.aId + "/B/" + $stateParams.bId+ "/layout";
}
});

当我处于 AB 状态(url 类似于 #/A/12/B/123 )并使用浏览器的后退按钮返回或 transitionTo url 更改时,状态 AB 被清除,但状态 A 不会渲染回来。据我所知, Controller 没有被触发。

因此,如果我在 A/12/B/123 并返回到 A/12 什么也没有发生,但是如果我返回到 A/13(使用 transitionTo )它会呈现。

在 angular-ui-router 项目的示例应用程序中,这个场景工作正常,所以我认为我的设置可能有问题。我认为值得一提的是,在 index.html 上,我有一个加载状态 A 的 ui-view,状态 A 的模板有另一个加载状态 A.B 的 ui-view

如果有人可以提供帮助,我将不胜感激

最佳答案

你有没有试过使用这个:

$state.reload()

它是一种强制重新加载当前状态的方法。重新解析所有解析,不重新触发事件,并重新实例化 Controller

这只是以下各项的别名:

$state.transitionTo($state.current, $stateParams, { 
reload: true, inherit: false, notify: false
});

关于AngularJS ui-router 状态不会在后面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965832/

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