Angularjs 는 json 파일 의 동적 생 성 루트 상태 에 따라 실현 하 는 방법
우선 프로젝트 는 angular 의 UI-루트 를 사용 하기 때문에 angular.js 와 angular-ui-router.js 두 개의 js 파일 을 도입 해 야 합 니 다.다음 과 같은 예 입 니 다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="js/routing.js"></script>
<script src="js/app.js"></script>
</head>
<body ng-app="App" ng-controller="MainController">
<a ng-click="reload()">reload</a>
<a ui-sref="xxx">xxx</a>
<a ui-sref="yyy">yyy</a>
<div ui-view></div>
</body>
</html>
그리고 제 이 슨 파일 의 데이터 입 니 다.다음 과 같 습 니 다.
{ "xxx": {
"url": "/xxx",
"templateUrl": "templates/xxx.html"
},
"yyy": {
"url": "/yyy",
"templateUrl": "templates/yyy.html"
},
"ccc": {
"url": "/ccc",
"templateUrl": "templates/yyy.html"
},
"zzz": {
"url": "/zzz",
"templateUrl": "templates/zzz.html"
}
}
그 다음 에 서 비 스 를 정의 합 니 다.json 파일 을 가 져 오 는 ajax 가 요청 한 주 소 를 설정 하 는 방법 을 정의 합 니 다.주 방법 은 ajax 를 보 내 고 결 과 를 순환 적 으로 기록 하 는 것 입 니 다.
'use strict'
angular.module('Routing', ['ui.router'])
.provider('router', function ($stateProvider) {
var urlCollection;
this.$get = function ($http, $state) {
return {
setUpRoutes: function () {
$http.get(urlCollection).success(function (collection) {
for (var routeName in collection) {
if (!$state.get(routeName)) {
$stateProvider.state(routeName, collection[routeName]);
}
}
});
}
}
};
this.setCollectionUrl = function (url) {
urlCollection = url;
}
})
마지막 으로 가장 관건 적 인 angular 설정 단계 와 실행 단계 의 코드 입 니 다.설정 단 계 는 최소한 하나의 상 태 를 요구 합 니 다.예 를 들 어$stateProvider.state('home', {url: '/home',templateUrl: 'templates/home.html'});
또한 기본 상 태 를 설정$urlRouterProvider.otherwise('/home');
한 다음 에 위의 서비스의 setCollectionUrl 방법 으로 url 주 소 를 설정 하여 ajax 요청 을 보 낼 수 있 습 니 다.마지막 으로 angular 의 실행 단계 의 run 방법 에서 setUpRoutes 방법 으로 json 파일 의 데 이 터 를 일정한 형식 에 따라 동적 으로 기록 합 니 다.코드 는 다음 과 같 습 니 다.
angular.module('App', ['ui.router', 'Routing'])
.config(function ($stateProvider, $urlRouterProvider, routerProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'templates/home.html'
});
$urlRouterProvider.otherwise('/home');
routerProvider.setCollectionUrl('js/routeCollection.json');
})
.run(function (router) {
router.setUpRoutes();
})
;
이 는 angular 경로 상 태 를 동적 으로 가 져 오 는 예 를 소개 합 니 다.관심 이 있 는 사람 은 원문 주소 와 원문 코드 의 github 를 볼 수 있 습 니 다.각각 다음 과 같 습 니 다.github 주소
github 에서 git clone 으로 내 려 오 면 프로젝트 에 bower.json 파일 이 있 고 상기 두 개의 js 파일 이 없습니다.우 리 는 프로젝트 에서 node 의 패키지 관리자 npm 를 사용 하여 bower 를 다운로드 한 다음 이 프로젝트 의 명령 행 에 bower install 을 입력 하면 프로젝트 에 사용 할 js 파일 을 다운로드 할 수 있 습 니 다.
위 에서 말 한 것 은 편집장 이 소개 한 Angularjs 가 json 파일 의 동태 적 인 생 성 경로 상태 에 따라 여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Angular에서 타사 스크립트 및 CSS 작업Angular 방식으로 회로도가 있는 외부 라이브러리를 추가하거나 모듈을 가져옵니다. Angular.json은 Angular 프로젝트의 모든 설정 파일이며 표준 JavaScript 및 CSS 파일과 함께 타사 라이브...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.