2017-03-14 2 views
0

현재 Material Design Lite와 Angular JS를 사용하는 프로젝트를 진행 중입니다. 각도 UI 라우터로 간단한 경로를 설정하는 데 문제가 있습니다.각도 UI 라우터 - 부분 GET 404를 찾을 수 없음

다음은 색인의 탐색 바 링크입니다.

MDL이 올바른 선택자로 인식하지 않기 때문에 # 앞에 /를 추가 할 수 없습니다. 정상적인 링크를 만들려고 시도했지만 여전히 경로를 지정하지 않습니다.

여기에 ui-route의 앱 구성이 있습니다.

app.config(function($stateProvider, $urlRouterProvider){ 

     $urlRouterProvider.otherwise('home'); 



     $stateProvider 
     .state('home', { 
      url: '/home', 
      templateUrl : 'views/dashboard.html' 

     }) 
     .state('assignments', { 
      url: '/assignments', 
      templateUrl : 'views/assignments.html' 
     }); 

    }); 

그리고 여기 내 프로젝트의 구조가 있습니다.

[app] 
[js] 
[views 
--dashboard.html 
--assignments.html] 
app.js 

홈 상태 (dashboard.html) 부하까지 내부 인덱스 파일에 겨보기,하지만 난 링크를 클릭 할 때 할당이 표시 얻을 수 없습니다. 이것이 내 http-server 콘솔에 표시됩니다.

[Tue Mar 14 2017 12:04:30 GMT-0500 (CDT)] "GET /assignments" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36" 
[Tue Mar 14 2017 12:04:30 GMT-0500 (CDT)] "GET /assignments" Error (404): "Not found" 

감사합니다.

답변

0

nodejs 서버를 사용하여 페이지를 제공하는 경우 애플리케이션에서 html5Mode (true)를 사용하고 있습니까? 그렇지 않으면 앵커 태그에 해시를 추가해야합니다.

즉 또한

<a href="#/assignments">Assignments</a> 

당신이 상태 이름에 직접 탐색 UI-SREF 특성을 사용할 수있는 UI 라우터를 사용하는 사람.

<a ui-sref="assignments">Assignments</a> 
+0

이 사람 챔피언이다. 설정에 locationProvider를 삽입하고 $ locationProvider.html5Mode (true)를 사용했습니다. 을 입력 한 다음 헤더 내에 을 추가하십시오. 모든 것이 완벽하게 작동합니다. html5mode에 대한 자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/questions/18214835/angularjs-how-to-enable-locationprovider-html5mode-with-deeplinking –