$location.path()
컨트롤러에서 사용하려고 하지만 사용자 지정 변수를 매개 변수로 전달합니다. 그래서 다음과 같이 보일 것입니다.
$scope.parameter = 'Foo';
$location.path('/myURL/' + $scope.parameter);
그러나 그것은 작동하지 않습니다. 누구나 Angular에서 이것이 어떻게 이루어져야하는지 알고 있습니까?
답변:
매개 변수를 추가하려면 다음과 같이 $location.search()
메소드 를 사용해야합니다 .
$location.path('/myURL/').search({param: 'value'});
$location
메소드는 체인 가능 합니다.
이 농산물 :
/myURL/?param=value
$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;
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
이렇게하면 괄호 안에 매개 변수를 수동으로 입력 할 필요가 없습니다.