2015-12-27 101 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

相關問題