Angularjs:如何使用ui-router重新加载或刷新ui-view

时间:2013-08-19 06:24:40

标签: angularjs angular-ui-router

我正在使用角度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>

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

4 个答案:

答案 0 :(得分:8)

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

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

重新加载状态并重新进入控制器。

答案 1 :(得分:7)

尝试将target="_self"添加到a。您也可以使用$window.location。同样$route.reload()也可以做到这一点。

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:-2)

尝试使用:

$window.location.reload()

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