8

我正在使用角度 ui-router。它在每个路由中都有状态,但我无法重新加载状态。这是我的代码

app.config(function ($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise("/home");
$stateProvider
    .state('home', {
        url: "/home",
        controller: 'HomeController',
        views: {
        "viewHome": {
            templateUrl: "home.html"
        },

    })
}

在 HTML 中

<a href="#/home">Home</a>

当我单击主页链接时,它重定向到主页 URL,但是当我尝试再次单击主页链接时,它不会刷新相同的状态,它必须刷新主页状态并再次调用 HomeController。请给我一些解决方案。

4

4 回答 4

8

使用 angular-ui-router 我成功地重新加载了一个状态:

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

这会重新加载状态并重新初始化控制器。

于 2014-08-26T19:33:33.870 回答
7

尝试添加target="_self"a. 您也可以使用$window.location. 也$route.reload()应该做的伎俩。

于 2013-08-19T06:31:16.767 回答
2

您可以指定要调用的状态,它将重新加载您的页面和控制器。这段代码对我有用:

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

或者

$state.go('state.name',{},{reload:true});
于 2017-09-15T09:22:16.740 回答
-2

尝试使用:

$window.location.reload()

重新加载页面的内容。在您想要的任何控制器中键入此行。

于 2016-06-18T16:12:02.533 回答