2015-09-16 82 views
0

我想學習AngularJS路由和我面臨一個小問題。AngularJS路由,錯誤的鏈接

我一個簡單的HTML文件的工作在我的電腦上(這意味着網址看起來像文件:/// C:/用戶...)

我不知道要放什麼東西在鏈接在/模板中使其工作。我嘗試了home,/home,#home,#/home ......但似乎沒有任何工作。

你能幫我嗎?

以下是文件: (route1.html只包含一個輸入)

HTML文件

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> 
 
<!doctype html> 
 
<html ng-app="myApp"> 
 
\t <head> 
 
\t \t <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> 
 
\t \t <script src="js/main2.js"></script> 
 
\t </head> 
 
\t <body> 
 
\t \t <div ng-view> 
 
\t \t </div> 
 
\t </body> 
 
</html>

JavaScript文件

var app = angular.module('myApp', []); 
 

 
app.config(['$routeProvider', function($routeProvider) { 
 

 
\t $routeProvider 
 
\t 
 
\t .when('/', { 
 
\t \t controller: 'HomeController', 
 
\t \t template: '<h1>Hey</h1><a href="#/home">Go to home</a>' 
 
\t }).otherwise({redirectTo: '/'}) 
 
\t 
 
\t .when('/home', { 
 
\t \t controller: 'HomeController', 
 
\t \t templateUrl: 'route1.html' 
 
\t }) 
 
}]); 
 

 
app.controller('HomeController', function($scope) { 
 
\t $scope.name = 'John'; 
 
});

+1

看看http://stackoverflow.com/questions/19502978/do-angular-views-work-when-a-site-is-served-from-the-local-file-system,我想你不能在沒有服務器的情況下使用ngRoute – bviale

+0

爲什麼,謝謝我,我猜...這不是我所期望的,所以我會假定路由工作。 – trichetriche

回答

0

AngularJS隱含路由使用Ajax來達到新的URL,併爲您提供相應的視圖。所以如果你想測試你的路由,你需要一個服務器來提供這個頁面(可以非常容易地設置一個light apache或node.js靜態服務器)。

關於它在this thread有更多的討論。

0

uI通過添加最新的angular.js V1.4.5angular.route.js相同版本解決了您的問題。並在main2.js作出如下更改

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

和休息很好,謝謝。