2015-09-16 58 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']); 

和休息很好,谢谢。