2015-12-27 72 views
0

您好我正在使用$ routeProvider,并且在更改任何路径时我想传递查询参数,例如当我按下更改位置的按钮时。

让我们说,我的网址是localhost:9000/index-new.html#/signup?aaaaa=bbbbb

,我按下一个按钮,更改,如登录的HREF,它改变

localhost/index-new.html#/login,我想它是 localhost:9000/index-new.html#/login?aaaaa=bbbbb变化。

我想这样做,如果没有建立一个服务或聆听甚至$位置和EXC ...

有没有财产以后建立在这样的可能?

loginApp.config(['$routeProvider', 
     function ($routeProvider, $routeParams, $route) { 
      $routeProvider 
       .when('/login', { 
        templateUrl: '../views/login/loginView.html?' +$routeParams, 
        controller: 'loginCtrl', 
        $routeparmas: 
       }) 
       .when('/signup', { 
        templateUrl: '../views/login/signupView.html?' + $routeParams, 
        controller: 'signupCtrl', 
       }) 
     }) 
]); 
+0

首先,您不能连接对象和字符串。其次你为什么需要这样做?第三...要做到这一点,你需要使用'templateUrl:function' – charlietfl

回答

0

不,你不能像charlietfl说的那样做。但有两件事情,你可以尝试:

1:

$routeProvider 
       .when('/login', { 
        templateUrl: '../views/login/loginView.html', 
        controller: 'loginCtrl', 
        params:{ 
         aaaaaa: 'bbbbbb', 
         cccccc: 'dddddd' 
        } 
       }) 

完成这一步之后,你可以访问PARAMS这样的:

app.controller('MyCtrl', ['$route', function($route){ 
    var params = $route.current.$$route.params; 
}]); 

第二:

app.controller('MyCtrl', ['$location', function($location){ 
    var params = { 
     aaaaaa: 'bbbbbbb', 
     cccccc: 'ddddddd' 
    }; 

    $location.path('/yourPathHere').search(params); 
}]); 

你可以像这样访问它们:

app.controller('YourPathCtrl', ['$routeParams', function($routeParams){ 
    var params = $routeParams 
}]); 
+0

我不知道我的参数会是什么,所以这是不相关的...但感谢我帮助我解决它使用服务。我发现角度$ routeprovider不支持这一点。 – user3781335

相关问题