如何点击重新加载路线而不改变路线?

时间:2015-07-11 08:52:06

标签: angularjs ngroute

现在我在diff模块中有菜单指令和产品页面。

这里有类似的菜单

<ul class="nav navbar-nav" >
    <li class="active">
    <a  href="#/product">Products</a>
    </li>
</ul>

这里有类似的产品控制器

.controller('ProductCtrl', ['$scope','flash','$http','FileUploader','$filter','$cookieStore', function ($scope,flash,$http,FileUploader,$filter,cookie) {
$scope.$on('$routeChangeSuccess', function(angularEvent, current, previous) {
    if ('new_id' in current.params){
            $scope.product_id = current.params.new_id;
            $http.get('/v2/oauth/product/'+current.params.new_id).success(function(data,state,headers,config){
                if(state==200){
                    $scope.product_id = data.answer._id;
                    setProduct_variable(data.answer);
                    flash('Get Product info:'+data.answer['name']);
                }
            })
    }else{
       $http.post('/v2/oauth/product/new').success(function(data,state,headers,config) {
            if (state ==200){$scope.product_id =data}
        });
        flash('Get new Product Id!');
    }
    //console.log(current.params);
});
}])

这里是routeProvider config

$routeProvider.when('/product',{templateUrl:'/view/product',controller:'ProductCtrl'});

更改路由是成功的。但我需要在#/ product中重新加载产品,或者需要在每次点击#/ product 中为getProductID和clean变量写一个事件?

提前致谢

1 个答案:

答案 0 :(得分:0)

试试这个:

$route.reload();

从手册:

  

https://docs.angularjs.org/api/ngRoute/service/ $路线

您还需要将$ route注入您的控制器。