por pasar parametros entre directivas comunicacion componentes javascript angularjs routeparams

javascript - pasar - Cómo obtener los parámetros de url usando AngularJS



pasar parametros por url angular 6 (4)

Código fuente HTML

<div ng-app=""> <div ng-controller="test"> <div ng-address-bar browser="html5"></div> <br><br> $location.url() = {{$location.url()}}<br> $location.search() = {{$location.search(''keyword'')}}<br> $location.hash() = {{$location.hash()}}<br> keyword valus is={{loc}} and ={{loc1}} </div> </div>

Código fuente AngularJS

<script> function test($scope, $location) { $scope.$location = $location; $scope.ur = $scope.$location.url(''www.html.com/x.html?keyword=test#/x/u''); $scope.loc1 = $scope.$location.search().keyword ; if($location.url().indexOf(''keyword'') > -1){ $scope.loc= $location.url().split(''='')[1]; $scope.loc = $scope.loc.split("#")[0] } } </script>

Aquí las variables loc y loc1 ambas devuelven la prueba como resultado de la URL anterior. ¿Es esta la manera correcta?


Sé que esta es una vieja pregunta, pero me tomó algo de tiempo resolver esto dada la escasa documentación angular. El RouteProvider y routeParams es el camino a seguir. La ruta conecta la URL a su Controlador / Vista y los parámetros de ruta se pueden pasar al controlador.

Vea el proyecto de semillas Angular . Dentro de la aplicación.js encontrarás un ejemplo para el proveedor de la ruta. Para usar params simplemente añádalos así:

$routeProvider.when(''/view1/:param1/:param2'', { templateUrl: ''partials/partial1.html'', controller: ''MyCtrl1'' });

Luego, en su controlador, inyecte $ routeParams:

.controller(''MyCtrl1'', [''$scope'',''$routeParams'', function($scope, $routeParams) { var param1 = $routeParams.param1; var param2 = $routeParams.param2; ... }]);


Si bien el enrutamiento es realmente una buena solución para el análisis de URL a nivel de aplicación, es posible que desee utilizar el servicio $location nivel $location , tal como se lo inyectó en su propio servicio o controlador:

var paramValue = $location.search().myParam;

Esta sintaxis simple funcionará para http://example.com/path?myParam=paramValue . Sin embargo, solo si configuró $locationProvider en el modo HTML 5 antes de:

$locationProvider.html5Mode(true);

De lo contrario, eche un vistazo a la sintaxis " http://example.com/#!/path?myParam=someValue " Hashbang "que es un poco más complicada, pero tiene la ventaja de trabajar en navegadores antiguos (no compatibles con HTML 5) como bien.