2017-09-28 22 views
0

私はAngularJSの初心者で、ルートを使用しようとしていますが、なんらかの理由で動作していないため、特殊文字もURLに表示されます。 ファイルは以下の通りです:
Angular JS Route not working(簡単な例)

Index.htmlと

<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

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"]; 
     }) 

私はチュートリアルと同じ使用していますが、何を知っていないすべてのコードエラー!ヘルプは高く評価されます。デフォルトhashPrefixことで おかげ

+1

正確なエラーは何ですか。 –

+0

「ngRoute」は機能していません。URLは と同じです。file:/// C:/Users/SHARY%20MALIK/Desktop/Angular%20JS/Files/project/index.html#!/#%2Fcourses –

答えて

3

ngRoute!あるので、あなたのすべてのURLは、そのURLの内部!を持つ必要があります。つまり、あなたのURLの#!/は、​​というインスピレーションのみである必要があります。

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

より良い方法は、完全URLから!を取り除くことになります。アプリケーションのコンフィグレーションフェーズで$locationProviderを使用してhashPrefix''(空)に設定する必要があります。

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

回答ありがとうございます。 ! $ locationProvider.hashPrefix( '')を追加すると消えます。 しかし、ngRouteはまだ動作していません。私のシステムに問題はありますか? –