program story

Angular의 $ location.path 내부에 매개 변수 전달

inputbox 2020. 9. 13. 10:31
반응형

Angular의 $ location.path 내부에 매개 변수 전달


$location.path()컨트롤러에서 사용하려고 하지만 사용자 지정 변수를 매개 변수로 전달합니다. 그래서 다음과 같이 보일 것입니다.

$scope.parameter = 'Foo';

$location.path('/myURL/' + $scope.parameter);

그러나 그것은 작동하지 않습니다. 누구나 Angular에서 이것이 어떻게 이루어져야하는지 알고 있습니까?


매개 변수를 추가하려면 다음과 같이 $location.search()메소드 를 사용해야합니다 .

$location.path('/myURL/').search({param: 'value'});

$location메소드는 체인 가능 합니다.

이 농산물 :

/myURL/?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에서

/path?foo=valueFoo&baz=valueBaz

다른 컨트롤러에서 매개 변수를 얻으려면 :

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

이렇게하면 대괄호 안에 매개 변수를 수동으로 입력 할 필요가 없습니다.

참고 URL : https://stackoverflow.com/questions/22688779/passing-parameter-inside-location-path-in-angular

반응형