2013-04-16 5 views
3

'ng-view'요소가 포함 된 템플릿보기를 요청하려면 각도를 알고 있어야합니까?각도 라우팅 및보기

내 응용 프로그램에서 검색하면

http://localhost/Categories/List/accessories 

에 직접 말한다. 모든 뷰를 렌더링하는 데 필요한 'ng-view'요소가 포함되어 있으므로 여전히 '/ 또는 인덱스 템플릿'에 대한 요청이 이루어집니다.

색인에서/Categories/List/accessories로 이동하면 색인을 다시 요청하지 않습니다. 다음은

이 라우팅 구성을 GitHub의

angular.module('myApp', ['myApp.ctrl.list']) 
    .config(['$routeProvider', '$locationProvider', function ($routeProvider) { 
     $routeProvider.when('/', { 
      templateUrl: '/Home/Splash', 
     }); 
     $routeProvider.when('/Categories/List/:slug', { 
      templateUrl: '/Categories/List', 
      controller: 'listCtrl', 
     }); 
     $routeProvider.otherwise({ 
      redirectTo: '/' 
     }); 
    }]); 
+0

templateUrl 일반적으로 파일을 .html 파일의 경로를 포함하는 것입니다 참조하십시오. 확장이 누락 되었습니까? – Ketan

답변

3

의 각도 MVC "요리 책"예로부터 부분적으로 복사 된 내 기본 라우팅, 난 당신의 URL의 예는 파운드 기호 (#)를없는 생각 이 같아야하므로 :

http://localhost/#/Categories/List/accessories 

# 기호 뒤의 부분은 AngularJS와 해결하기위한 것 경로 (즉, 사용자가 정의한 라우팅 구성.)

브라우저의 주소 표시 줄에 위 URL을 입력하면 브라우저에서 index.html을 자동으로 찾습니다 (localhost). 모두가 아니더라도 대부분의 브라우저는 도메인 이름 만 URL에있는 경우 index.html을 찾도록 설정됩니다.

# 기호 다음 부분은 어떻게됩니까? 너는 물을지도 모른다. # 기호 다음의 경로는 정의에 따라 서버로 전송되지 않으므로 브라우저는 해당 부분이 구성되어있는 부분을 덜 신경 쓸 수 있습니다.

언급 한 두 번째 시나리오에서 AngularJS는 처음로드되었을 때 캐시 되었기 때문에 index.html을 요청하지 않으며 캐시 된 복사본이 사용됩니다.