AngularJS ui-router刷新子页面路由

网上有各种刷新子页面路由的方法,但是不知道为什么放到我的页面就不行了,尴尬!

网上的方法有:

  

<a href="#" ui-sref="app.toMenu" ui-sref-opts="{reload:'app.toMenu'}">
<!-- 这个方法刷新当前路由页面 -->

另外也可以用$state.reload(); 
$state.reload()是加载整个页面; 
$state.reload('app.toMenu');加载当前页面;

<a href="" ng-click="reloadCurPage()">

<!-- controller里面 $scope -->
$scope.reloadCurPage = function(){
    $state.reload('app.toMenu');
}

  如果以上方法都不行的,可以试一下这样:

  controllerjs里面:点击后,先reload刷新一下,然后定时器里面跳转到URL路由,这样就可以刷新子路由页面了。(定时器设置小一点,这样跳转就不会显得“生硬”)

  

 $scope.toSubPage = function (name) {
            var param = {};
            if (name == 'report') {
                param = {id: 1};
            }
            $state.reload();
            $timeout(function () {
                $state.go('home.' + name, param,{reload:false});
            },5)


        }

猜你喜欢

转载自www.cnblogs.com/nelsonlei/p/9353941.html