在angular中使用$ routeProvider时传递查询参数字符串

时间:2015-12-27 13:50:50

标签: angularjs routing route-provider

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

让我们说我的网址为class GeolocationFinderTests(unittest.TestCase): def setUp(self): self.test_geolocation_finder = GeolocationFinder() attrs = {'address.return_value': 'test_address', 'latitude.return_value': '0000', 'longitude.return_value': '0000'} self.mock_geolocation = Mock(**attrs) self.test_geolocation_finder.geolocation = self.mock_geolocation def test_get_addr_lat_long(self): address, lat, long = self.test_geolocation_finder.get_addr_lat_long() self.assertEqual(address, 'test_address') if __name__ == '__main__': unittest.main()

然后按下一个改变href的按钮,如登录,它会变为

localhost:9000/index-new.html#/signup?aaaaa=bbbbb我想改变它 localhost/index-new.html#/login

我想在没有建立服务的情况下这样做,或者听取$ location和exc ...的偶数...

有没有像这样的东西?

localhost:9000/index-new.html#/login?aaaaa=bbbbb

1 个答案:

答案 0 :(得分:0)

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

第一

collection: City.all.map{ |u| [u.name, u.id]}

执行此操作后,您可以访问这样的参数:

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

第二

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);
}]);