我正在使用角度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。请给我一些解决方案。
答案 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()
重新加载页面内容。在要进入的任何控制器中输入此行。