AngularJS 의 경로 사용 및 구현 코드

8017 단어 Angular경로
앞.  말.
이 장 에 서 는 AngularJS 경 로 를 소개 합 니 다.AngularJS 루트 는 서로 다른 URL 을 통 해 서로 다른 내용 을 접근 할 수 있 도록 합 니 다.AngularJS 를 통 해 다 중 보기 의 단일 페이지 웹 애플 리 케 이 션(single page web application,SPA)을 실현 할 수 있 습 니 다.
1.1 Angular JS 루트 기초 지식 설명
AngularJS 에서 사용 할 경로:
1.경로 파일 가 져 오기:angular-route.js
2.메 인 모듈 에"ngRoute"를 주입 합 니 다.

angular.module("app",["ngRoute"])
3.하이퍼링크 를 경로 형식 으로 바 꿉 니 다.  -->  "#/표기

<a href="#/" rel="external nofollow" rel="external nofollow" >  </a>  //       #/   
<a href="#/page1" rel="external nofollow" rel="external nofollow" >page1</a> //    "#/  "   
4.페이지 의 적당 한 위치 에 ng-view 를 추가 하여 열 린 페이지 를 불 러 옵 니 다.      

 <div ng-view></div> 
//   <ng-view></ng-view>
이 div 안의 HTML 내용 은 경로 의 변화 에 따라 달라 집 니 다.
5.config 설정 단계 에서$routeProvider 를 주입 하여 경로 설정 을 진행 합 니 다.

.config(function($routeProvider){
  $routeProvider
  .when("/",{template:'<h1 style="color:red;">    </h1>'})
  .when("/page1",{templateUrl:"page.html",controller:"ctrl1"})
  .when("/page2",{templateUrl:"page.html",controller:function($scope){
    $scope.text = "  ctrl        !!"
  }})
  .when("/page3",{templateUrl:"page.html"})
  .when("/page4",{})
  .otherwise({redirectTo:"/"})
})
AngularJS 모듈 의 config 함 수 는 경로 규칙 을 설정 하 는 데 사 용 됩 니 다.configAPI 를 사용 하여$routeProvider 를 설정 함수 에 주입 하고$routeProvider.whenAPI 를 사용 하여 경로 규칙 을 정의 할 것 을 요청 합 니 다.
$routeProvider 는 when(path,object)&otherwise(object)함 수 를 순서대로 정의 합 니 다.함 수 는 두 개의 인 자 를 포함 합 니 다.
  • 첫 번 째 매개 변 수 는 URL 이나 URL 정규 규칙 입 니 다
  • 4.567917.두 번 째 매개 변 수 는 경로 설정 대상 입 니 다1.2.1 경로 설정 대상
    AngularJS 경로 도 서로 다른 템 플 릿 을 통 해 이 루어 질 수 있다.
    $routeProvider.when 함수 의 첫 번 째 매개 변 수 는 URL 이나 URL 정규 규칙 이 고 두 번 째 매개 변 수 는 경로 설정 대상 입 니 다.
    경로 설정 대상 문법 규칙 은 다음 과 같 습 니 다.
    
    $routeProvider.when(url,{
      template:string, // ng-view      html  
      templateUrl:string, // ng-view   html    
      controller:string,function / array, //         controller  
      controllerAs:string, // controller    
      redirectTo:string,function, //      
      resolve:object<key,function> //    controller        
    });
    1.2.2 매개 변수 설명
     ① template:HTML 템 플 릿 을 사용자 정의 하면 이 HTML 을 ng-view 에 직접 기록 합 니 다.
    
    .when("/page3",{templateUrl:"page.html"})
    ② templateUrl:외부 HTML 템 플 릿 파일 가 져 오기.충돌 을 피하 기 위해 서 외부 HTML 은 body 이내 의 부분 만 유지 하 는 코드 세 션 이 어야 합 니 다.
    
    .when("/page1",{templateUrl:"page.html",controller:"ctrl1"})
    ③ controller:현재 HTML 템 플 릿 에서 실 행 된 controller 함수.새로운 역할 영역$scope 가 생 성 됩 니 다.문자열(설명 한 contrller 이름)을 받 아들 일 수도 있 고 함 수 를 직접 받 아들 일 수도 있 습 니 다.
    
    .when("/page1",{templateUrl:"page.html",controller:"ctrl1"})
    메모:ng-view 로 열 린 페이지,controller 의 역할 영역 은 현재 페이지 역할 영역 에 속 하 는 하위 역할 영역 입 니 다!!여전히 Angular 에서 부자 역할 영역 인'읽 을 수 있 고 쓸 수 있 는 지'의 요구 에 부합 합 니 다!
    따라서 ng-view 에서 현재 역할 영역의 변 수 를 수정 하려 면 이 변 수 를 대상 의 속성 으로 성명 해 야 합 니 다!!
    ④ redirecto:방향 을 바꾼다.일반적으로.otherwise()에서 첫 페이지 로 돌아 가 는 데 사 용 됩 니 다!
    
    .otherwise({redirectTo:"/"})
    2.1 자정 명령 
    AngularJS 는 사용자 정의 명령 을 허용 합 니 다!!
    예 를 들 어
    또는
    1.directive()를 사용 하여 사용자 정의 명령 을 설명 합 니 다.
    2.명령 을 정의 할 때 명령 명 은 낙타 봉 명명 법 을 사용 해 야 한다.명령 을 호출 할 때"-"링크 를 사용 합 니 다.
    .directive("huangGe")  --> 
    .directive("huangge")  --> 
    3.명령 을 정의 할 때 대상 에서 사용 하 는 속성:
    ① template:명령 을 호출 할 때 생 성 된 템 플 릿
     ② restrict:명령 이 허용 하 는 호출 방식 을 설명 하 는 데 사용 합 니 다.
    E->서명 표시 허용  A->속성 호출 허용   C->클래스 이름 호출 허용   M->주석 호출 허용
    기본 값:EA
    주석 호출 이 필요 하 다 면 속성 을 하나 더 추가 해 야 합 니 다:replace:true,그리고 주석 호출 전에"directive:"eg:
    
    .directive("jiangHao",function(){
      return {
        restrict : "EACM",
        replace:true,
        template:"<h1>         </h1>",
        
      }
    })
    3.1 실례
    
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
          ul{
            overflow: hidden;
          }
          li{
            width: 100px;
            height: 40px;
            text-align: center;
            float: left;
            line-height: 40px;
            list-style: none;
            cursor: pointer;
          }
          li a{
            text-decoration: none;
            color: black;
          }
          li:hover{
            background-color: yellow;
          }
          #div1{
            width: 1000px;
            height: 500px;
            margin: 20px auto;
            border: 2px solid red;
          }
        </style>
      </head>
      
      <body ng-app="app" ng-controller="ctrl">
        
        <ul>
          <li><a href="#/" rel="external nofollow" rel="external nofollow" >  </a></li>
          <li><a href="#/page1" rel="external nofollow" rel="external nofollow" >page1</a></li>
          <li><a href="#/page2" rel="external nofollow" >page2</a></li>
          <li><a href="#/page3" rel="external nofollow" >page3</a></li>
          <li><a href="#/page4" rel="external nofollow" >page4</a></li>
        </ul>
        <div id="div1" ng-view></div>
        <jiang-hao></jiang-hao>
        <div jiang-hao></div>
        
        <div class="jiang-hao"></div>          
      </body>
      
      <script src="js/angular.js" type="text/javascript"></script>
      <script src="js/angular-route.js" type="text/javascript"></script>
      <script type="text/javascript">
      
    angular.module("app",["ngRoute"])
    .config(function($routeProvider){
      $routeProvider
      .when("/",{template:'<h1 style="color:red;">    </h1>'})
      .when("/page1",{templateUrl:"page.html",controller:"ctrl1"})
      .when("/page2",{templateUrl:"page.html",controller:function($scope){
        $scope.text = "  ctrl        !!"
      }})
      .when("/page3",{templateUrl:"page.html"})
      .when("/page4",{})
      .otherwise({redirectTo:"/"})
    })
    .controller("ctrl",function($scope){
      $scope.test = "        !";
      $scope.obj = {
        test:"        !"
      }
    })
    .controller("ctrl1",function($scope){
      $scope.text = "  ctrl1   !";
    })
    
     */
    .directive("jiangHao",function(){
      return {
        restrict : "EACM",
        replace:true,
        template:"<h1>         </h1>",
        
      }
    })
      </script>
      
    </html>
    효과 그림:

    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기