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
可以解决问题。
在我的 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
可以解决问题。