Angular JS - UI-Router:点击时重新加载状态

时间:2016-05-24 05:33:47

标签: angularjs angular-ui-router angular-ui

我正在使用Angular JS和UI-Router,

当我们点击来自同一状态的状态链接时,我想重新加载状态。

我用以下代码修复了它,

<a ui-sref="page1" ui-sref-opts="{reload: true}">Page 1</a>

但在所有链接中添加ui-sref-opts="{reload: true}"非常繁琐。

所以我想要一个角度js(或ui-router)中的配置或设置或代码来全局管理它。也就是说,如果我们从同一状态点击状态链接,状态应该重新加载。

请帮我找一个解决方案。

1 个答案:

答案 0 :(得分:2)

此处的方法是调整$state.go实施,例如像这样:

Changing the default behavior of $state.go() in ui.router to reload by default

一般情况下,我们会使用 decorator 来控制$ state行为

.config(function ($provide) {
    $provide.decorator('$state', function ($delegate) {

        // let's locally use 'state' name
        var state = $delegate;
        ...

in action here

为什么这应该起作用在这里描述:

Difference between ui-sref and $state.go in AngularJS UI-Router