Solo intento usarlo $location.path()
en mi controlador, pero también paso una variable personalizada como parámetro. Supongo que se vería así:
$scope.parameter = 'Foo';
$location.path('/myURL/' + $scope.parameter);
Pero eso no funciona. ¿Alguien sabe cómo se supone que se debe hacer esto en Angular?
javascript
angularjs
AzzyDude
fuente
fuente
$location.path('/myURL').search({param: 'value'});
La otra forma de agregar un parámetro a la URL es:
$location.path('/myURL/'+ param1);
y puede definir la ruta a myPage.html:
config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/myURL/:param1', { templateUrl: 'path/myPage.html', controller: newController }); }]);
A continuación, se puede acceder al parámetro en newController de la siguiente manera:
var param1= $routeParams.param1;
fuente
Por ejemplo, si necesita ingresar en su URL uno o más parámetros:
$location.path('/path').search({foo: 'valueFoo', baz:'valueBaz'})
en tu url representará
Para obtener parámetros en otro controlador:
var urlParams = $location.search(); urlParams.foo will return valueFoo urlParams.baz will return valueBaz
fuente
function pathToSomewhere() { $stateParams.name= vm.name; //john $stateParams.phone= vm.phone; //1234 $stateParams.dateOfBirth= getDoB(); //10-10-1990 $location.path("/somewhere/").search($stateParams); };
Esto da como resultado la URL
http://middle-of-nowhere.com/#/somewhere/?name=john&phone=1234&dateOfBirth=10-10-1990
De esta manera, no tiene que escribir manualmente los parámetros entre corchetes
fuente