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

时间:2018-09-06 10:12:24

标签: angularjs angular-ui-router

在我的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 });

进入状态,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

经过更多检查后,我发现在函数周围添加$onChanges可以在组件<select> <option>Select</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> 中填充表单数据可以解决此问题。