AngularJS 페이지 전환 루트 인 스 턴 스 코드

3401 단어 AngularJSroute점프
AngulagJs 의 페이지 는 Route 점프 를 사용 합 니 다.
1.AngularJS.js 를 인용 하 는 것 외 에 도 JS,"~/Scripts/angularjs/angular-route.js"를 인용 해 야 한다.
2.$routeProvider 를 통 해 경로,예제 정의

var testModule = angular.module('testModule', ['ngRoute']);

testModule.config(['$routeProvider', function ($routeProvider) {
 $routeProvider.when('/2', {//'/2'       ,         ,        
  templateUrl: "/home/index2",//"/home/index2"          ,   asp.net mvc     (   ),          , “test/test.html"
  controller:'testController'//     controller,          
 });

 $routeProvider.when('/3', {
  templateUrl: "/home/index3",
  controller:'testController'
 })

}]);
3.경로 이동 을 이용 하여 ng-view 와 결합 하여 spa 를 한다.
3.1  JS 에서$location 을 사용 하여 점프 합 니 다.예 를 들 어 필요 할 때 goToIndex 2 를 호출 하면 됩 니 다.

testModule.controller("testController", ["$scope", "$location", function ($scope, $location) {

 $scope.goToIndex2 = function () {
  $location.path("/2")
 }
}]);
3.2 html 코드 에서 href="\#path"를 사용 하여 점프

<html >
<head>
 <meta name="viewport" content="width=device-width" />
 <title>Index1</title>
 @Styles.Render("~/Content/css/base")
 @Scripts.Render("~/script/base")
 <script src="~/scripts/ngmoudle/app.js"></script>
</head>
<body>
 <div ng-app="testModule" ng-controller="testController">
  <header>
   <h1>This is Index1</h1>
   <button type="button" class="btn btn-default" ng-click="goToIndex2()">Index2</button>
   <a href="#/3" class="btn btn-default">Index3</a><!--  heft="#path"      -->
   <a href="#/2" class="btn btn-default" >Index2</a>
    </header>
  <div ng-view>

  </div>
  <footer>PAGE FOOTER</footer>
 </div>
</body>
</html>

 4.Angularjs 버 전에 대해 할 수 없 는 질문(추가 부분),"/"변"%2F"질문
새로운 프로젝트 는 Nuget 을 사용 하여 Angularjs 를 직접 가 져 온 후에 상기 쓰기 방법 에 따라 점프 할 수 없 음 을 발 견 했 습 니 다.증상 은Index 2를 클릭 한 후에 브 라 우 저 주소 가"\#22"로 바 뀌 었 고"/"변"%2F"로 인해 경로 가 이동 할 수 없 게 되 었 습 니 다.한 번 에 검색 하고 디 버 깅 을 한 후에 야 AngularJs 가 1.6 버 전에 서 주 소 를 특별 처리 한 것 을 발 견 했 습 니 다.원인 을 알 게 된 후에문 제 를 해결 하 는 것 도 간단 하 다.Angular 에서 기 존 방식 으로 돌아 가면 된다 고 밝 히 면 된다.
참조 가능http://stackoverflow.com/questions/41211875/angularjs-1-6-0-latest-now-routes-not-working

testModule.config(['$locationProvider', function($locationProvider) {
 $locationProvider.hashPrefix('');
}]);

testModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]);
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기