Angular - UI路由器 - 状态重入

时间:2014-07-24 07:53:27

标签: angularjs single-page-application angular-ui-router

如何配置UI路由器默认重新输入或重新加载状态?

E.g。用户想要刷新页面,因此他单击该页面后面的链接。但目前该链接无法点击,因为它转到同一页面并且状态不会发生变化。使用浏览器按钮刷新确实有效,因此它会重新加载整个SPA - 这是不可取的。

这个问题 - Reloading current state - refresh data - 描述了类似的效果。是否可以更改此解决方案 - https://stackoverflow.com/a/23198743/404099 - 来定义默认行为?

顺便说一下,我的方法可能不正确,我在UI路由器中遗漏了一些基本想法。如果是这种情况,请指出。

1 个答案:

答案 0 :(得分:5)

我是@Sabacc说的第二个,但是如果你还是,那么你去吧:

angular.module('app')
.config(function($provide) {
    $provide.decorator('$state', function($delegate)
    {
        $delegate.go = function(to, params, options)
        {
            return $delegate.transitionTo(to, params, angular.extend(
            {
                reload: true,
                inherit: true,
                relative: $delegate.$current
            }, options));
        };
        return $delegate;
    });
});