UI-重新访问状态时路由器视图未刷新

UI-router view not refreshed when revisiting state

在我的 AngularJS 应用程序中,我创建了一个简单的向导式设置,整个向导页面处于静态状态,所有单独的向导子页面处于动态状态。使用一个简单的列表,我可以在向导子页面之间切换,但我发现重新访问子页面并不能正确刷新视图。

我正在使用 @ui-router/angularjs (1.0.20) 和 @ui-router/core (5.0.21) 以及 AngularJS (1.5)。

为了将数据传递给每个向导子页面的组件,我向 <div ui-view></div> 添加了附加属性,并且每个组件都绑定了它需要的属性。这是有效的,因为我看到每次访问都会调用组件 $onChanges 挂钩。该组件还会加载 HTML 模板,但在重新访问时不会正确刷新。显示静态文本和初始值,但不显示更新的数据。

那么如何强制刷新页面呢?我试过使用

$state.go(state, params, { reload: true, inherit: true, notify: true });

进入状态好像不行

经过更多检查后,我发现在函数周围添加一个 $timeout 以填充组件中的表单数据 $onChanges 可以解决问题。