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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重新访问状态时,UI路由器视图未刷新相关的知识,希望对你有一定的参考价值。

我的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中的表单数据解决了这个问题。

以上是关于重新访问状态时,UI路由器视图未刷新的主要内容,如果未能解决你的问题,请参考以下文章

片段中的 notifyDataSetChanged() 不刷新列表视图

单击按钮时刷新片段视图

重新加载时刷新片段

SwiftUI中状态改变未导致视图正确刷新的原因及解决

SwiftUI中状态改变未导致视图正确刷新的原因及解决

如何保存具有列表视图的片段状态