각도 1 - 현재 URL 매개 변수 가져오기
현재 URL에서 데이터를 추출하여 컨트롤러에서 사용하고 싶습니다.예를 들어 다음 URL이 있습니다.
app.dev/module/module/2
추출할 비트:
app.dev/module/:type/:id
Angular에서 이 작업에 도움이 될 만한 것이 있습니까?
다음을 사용하여 URL에서 매개 변수를 가져오려면ngRoute즉, 의존관계로서 앵글 루트js를 어플리케이션에 포함해야 합니다.공식 ngRoute 문서에서 이를 수행하는 방법에 대한 자세한 내용은 다음과 같습니다.
질문의 해결 방법:
// You need to add 'ngRoute' as a dependency in your app
angular.module('ngApp', ['ngRoute'])
.config(function ($routeProvider, $locationProvider) {
// configure the routing rules here
$routeProvider.when('/backend/:type/:id', {
controller: 'PagesCtrl'
});
// enable HTML5mode to disable hashbang urls
$locationProvider.html5Mode(true);
})
.controller('PagesCtrl', function ($routeParams) {
console.log($routeParams.id, $routeParams.type);
});
를 유효하게 하지 않는 경우$locationProvider.html5Mode(true);. URL은 해시방을 사용합니다./#/).
라우팅에 대한 자세한 내용은 공식 각 $route API 문서를 참조하십시오.
사이드 노트:이 질문은 ng-Route를 사용하여 이를 실현하는 방법에 대한 답변이지만 라우팅에는 UI 라우터를 사용할 것을 권장합니다.유연성이 향상되고 기능이 향상되었으며 문서도 훌륭하며 각도 조절에 가장 적합한 라우팅 라이브러리로 간주됩니다.
주사할 수도 있고$routeParams컨트롤러에 접속하여 루트가 해결되었을 때 사용된 모든 파라미터에 액세스합니다.
예:
// route was: app.dev/backend/:type/:id
function MyCtrl($scope, $routeParams, $log) {
// use the params
$log.info($routeParams.type, $routeParams.id);
};
자세한 내용은 각 $routeParams 문서를 참조하십시오.
다음과 같은 URL을 생성하는 것이 좋습니다.
app.dev/backend?type=surveys&id=2
그런 다음 사용
var type=$location.search().type;
var id=$location.search().id;
컨트롤러에 $location을 삽입합니다.
루트 설정에서는 일반적으로 다음과 같은 루트를 정의합니다.
.when('somewhere/:param1/:param2')
그런 다음 다음을 사용하여 해결 개체 내의 경로를 가져올 수 있습니다.$route.current.params또는 컨트롤러에서$routeParams어느 경우든 파라미터는 루트 매핑을 사용하여 추출됩니다.param1에 의해 액세스 할 수 있다$routeParams.param1컨트롤러에 있습니다.
편집: 또한 매핑이 정확해야 합니다.
/some/folder/:param1
단일 매개 변수와 일치합니다.
/some/folder/:param1/:param2
두 개의 매개 변수만 일치합니다.
이것은 대부분의 다이내믹서버측 루트와는 조금 다릅니다.예를 들어 NodeJS(Express) 루트 맵핑에서는 X개의 파라미터로1개의 루트만 지정할 수 있습니다.
ex:url/:id
var sample= app.controller('sample', function ($scope, $routeParams) {
$scope.init = function () {
var qa_id = $routeParams.qa_id;
}
});
routeParams 서비스를 삽입하기만 하면 됩니다.
http://docs.angularjs.org/api/ngRoute.$routeParams
언급URL : https://stackoverflow.com/questions/20655877/angular-1-get-current-url-parameters
'programing' 카테고리의 다른 글
| 스프링 부트 테스트에서 이미 사용 중인 포트 해결 정의 포트 (0) | 2023.03.27 |
|---|---|
| 저장되지 않은 변경 사항을 감지하고 angularjs를 사용하여 사용자에게 경고 (0) | 2023.03.27 |
| Wordpress 플러그인 개발을 학습하기 위한 최고의 튜토리얼? (0) | 2023.03.27 |
| Jest에서 조롱된 서비스로 인해 "The module factory of jest.mock() is not allowed to reference any of scope variables" 오류가 발생합니다. (0) | 2023.03.27 |
| tsc가 로컬파일에 대해 TS2307: Cannot find module을 슬로우합니다. (0) | 2023.03.27 |