我正在使用angular来开发一个应用程序。我正在开发我的本地文件系统,在Windows上。但是,当我启用angular-route.js
时,只要我使用浏览器点击index.html
,就会转到index.html#/C:/
。
我的路线定义是:
myApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl: 'home.html', controller: 'HomeCtrl'});
}
我认为这导致网站中断,因为/C:/
与任何角度路线都不匹配。出了什么问题?我该如何解决这个问题?
答案 0 :(得分:6)
路由& ajax(& more)正常工作,运行本地开发服务器;避免使用file://
进行开发,因为浏览器对它有不同的规则。
yeoman
+ generator-angular
等工具会自动设置一个带有server
任务的gruntfile,该任务将运行node-connect
服务器以在本地为您的文件提供服务。
您可以使用
执行此操作python -m http.server 8001
(用2中的SimpleHttpServer替换http.server)评论回复:对于phonegap,请使用the phonegap tools。它完全符合我的说法,它运行local server.
答案 1 :(得分:3)
这样可行。
angular.module('MainModule', []).config(function($locationProvider, $routeProvider) {
$locationProvider.hashPrefix("!");
$locationProvider.html5Mode(false);
$routeProvider.when('/', {template: './js/templates/home.html', controller:HelloWorldCtrl});
$routeProvider.when('/other', {template: './js/templates/other.html'});
});
在索引HTML中,您需要指定模板:
<script type="text/ng-template" src="./js/templates/home.html"></script>
<script type="text/ng-template" src="./js/templates/other.html"></script>