Я просто пытаюсь использовать $location.path()
в своем контроллере, но также передаю пользовательскую переменную в качестве параметра. Думаю, это будет выглядеть примерно так:
$scope.parameter = 'Foo';
$location.path('/myURL/' + $scope.parameter);
Но это не работает. Кто-нибудь знает, как это должно быть сделано в Angular?
javascript
angularjs
AzzyDude
источник
источник
$location.path('/myURL').search({param: 'value'});
Другой способ добавить параметр в url:
$location.path('/myURL/'+ param1);
и вы можете определить маршрут к myPage.html:
config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/myURL/:param1', { templateUrl: 'path/myPage.html', controller: newController }); }]);
После этого параметр можно будет получить в newController следующим образом:
var param1= $routeParams.param1;
источник
Например, если вам нужно ввести в свой URL один или несколько параметров:
$location.path('/path').search({foo: 'valueFoo', baz:'valueBaz'})
в вашем URL будет представлять
Чтобы получить параметры в другом контроллере:
var urlParams = $location.search(); urlParams.foo will return valueFoo urlParams.baz will return valueBaz
источник
function pathToSomewhere() { $stateParams.name= vm.name; //john $stateParams.phone= vm.phone; //1234 $stateParams.dateOfBirth= getDoB(); //10-10-1990 $location.path("/somewhere/").search($stateParams); };
Это приводит к URL-адресу
http://middle-of-nowhere.com/#/somewhere/?name=john&phone=1234&dateOfBirth=10-10-1990
Таким образом, вам не нужно вручную вводить параметры в скобках.
источник