如何配置UI路由器默认重新输入或重新加载状态?
E.g。用户想要刷新页面,因此他单击该页面后面的链接。但目前该链接无法点击,因为它转到同一页面并且状态不会发生变化。使用浏览器按钮刷新确实有效,因此它会重新加载整个SPA - 这是不可取的。
这个问题 - Reloading current state - refresh data - 描述了类似的效果。是否可以更改此解决方案 - https://stackoverflow.com/a/23198743/404099 - 来定义默认行为?
顺便说一下,我的方法可能不正确,我在UI路由器中遗漏了一些基本想法。如果是这种情况,请指出。
答案 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;
});
});