如何使用angular-ui-router重新加载状态?

时间:2017-09-19 10:50:37

标签: javascript angularjs angular-ui-router

如何使用angular-ui-router重新加载控制器和整个侧面?

$state.reload() or $state.go('myState')

不起作用。只有有效的方法是:

$state.go('anotherState');
$state.go('myState');
  • 去另一个州然后回来。然后,视图被正确地重新加载。没有这个黑客怎么办呢?

此致

2 个答案:

答案 0 :(得分:1)

您可以在不刷新页面的情况下使用此功能。这将重新加载视图:

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

或者试试这个

$state.go($state.current.name,{},{reload: $state.current.name});

答案 1 :(得分:1)

我发现这是用ui-router刷新的最短工作方式:

select * from CustomerTbl where Id in (select t1.Id from CustomerTbl t1
left join OrderTbl t2 on t1.Id = t2.CustomerId
left join OrderDetailTbl t3 on t3.OrderId = t2.Id
left join ProductTbl t4 on t4.Id = t3.ProductId
where t4.Id != 2) 

新版本也支持此功能:

$state.go($state.current, {}, {reload: true}); //second param is for $stateParams if you have any.

以下是别名:

$state.reload();  

文档:https://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state#methods_reload