2017-09-28 3 views
0

저는 AngularJS로 초보자이며 경로를 사용하려고하지만 어떤 이유로 작동하지 않으며 특수 문자가 URL에도 나타납니다. 내가 자습서와 같은 사용하고Angular JS Route not working (간단한 예)

var app = angular.module("myRouteApp", ["ngRoute"]) 
       .config(function($routeProvider){ 
        $routeProvider 
        .when("/home",{ 
           templateUrl: "templates/home.html", 
           controller: "homeController" 
          }) 
        .when("/courses",{ 
           templateUrl: "templates/courses.html", 
           controller: "coursesController" 
          }) 
        .when("/students",{ 
           templateUrl: "templates/students.html", 
           controller: "studentsController" 
          }) 
       }) 
     .controller("homeController", function($scope){ 
      $scope.message = "Home Page"; 
     }) 
     .controller("coursesController", function($scope){ 
      $scope.courses = ["PHP", "JAVA", "C#", "C"]; 
     }) 
     .controller("studentsController", function($scope){ 
      $scope.students = ["ALI", "Usama", "Usman", "Omer"]; 
     }) 

모든 코드

<html ng-app="myRouteApp" lang="ens"> 
    <head> 
     <title>Angular Route Project</title> 
     <script src="../js/angular.js"></script> 
     <script src="../js/angular-route.js"></script> 
     <script src="../js/script2.js"></script> 
     <link href="style.css" rel="stylesheet" /> 
    </head> 
    <body> 
     <table style="Font-Family: Arial;"> 
      <tr> 
       <td colspan="2" class="header"> 
        <h1>WEBSITE HEADER</h1> 
       </td> 
      </tr> 
      <tr> 
       <td class="leftMenu"> 
        <a href="#/home">Home</a> 
        <a href="#/courses">Courses</a> 
        <a href="#/students">Students</a> 
       </td> 
       <td class="mainContent"> 
        <ng-view></ng-view> 
       </td> 
      </tr> 
      <tr> 
       <td colspan="2" class="footer"> 
        <h5>WEBSITE FOOTER</h5> 
       </td> 
      </tr> 
     </table> 
    </body> 
</html> 

script2.js

Index.html을하지만, 무엇을 알고하지 않습니다 파일은 다음과 같습니다 오류! 도움을 받으실 수 있습니다. 당신의 모든 URL가 URL의 내부 !을해야하므로 감사 기본 hashPrefix으로

+1

정확한 오류 란 무엇인가요? –

+0

"ngRoute"이 작동하지 않고 URL이 인 경우 file : /// C : /Users/SHARY%20MALIK/Desktop/Angular%20JS/Files/project/index.html#!/# % 2Fcourses –

답변

3

ngRoute에서 !입니다. 즉, URL의 #!/#/의 인스 위트이어야합니다.

<td class="leftMenu"> 
    <a href="#!/home">Home</a> 
    <a href="#!/courses">Courses</a> 
    <a href="#!/students">Students</a> 
</td> 

더 나은 방법이 완전히 URL에서 ! 제거 될 것이다. 응용 프로그램의 구성 단계 내에서 ~ '' (비어 있음)을 $locationProvider으로 설정해야합니다.

app.config(['$locationProvider', function($locationProvider){ 
    $locationProvider.hashPrefix(''); 
}]) 
+0

답변 해 주셔서 감사합니다. ! $ locationProvider.hashPrefix ('')를 추가하면 사라집니다. 하지만 ngRoute은 여전히 ​​작동하지 않습니다. 내 시스템에 문제가 있습니까? –