关于angular路由的问题

想用angular里的routeProvider和template来做content部分的视图切换,为什么这样写并不能实现?代码如下。
PS后台非NODE

index.html

...
    <div id="content-holder">
        <div ng-view></div>
    </div>
...

route.js:


var myApp = angular.module('myApp',['ngRoute']); myApp.config(['$routeProvider',function($routeProvider){ $routeProvider .when('/',{ templateUrl:"page/home/homePage.html", controller:"contentController" }) .otherwise({ redirectTo: '/' }); }]); myApp.controller("contentController",function(){ ... });

homePage.html:

    <div id="content" data-role="content">
        ...
    </div>
阅读 3.5k
1 个回答

我按照你的代码跑了一边是可以运行的,我估计你的错误可能会出现在下面这几个步骤中:

  • 那个homePage.html的路径你看看对不对
  • 你可以看看你的控制台出现的信息,如果是下面的错误信息XMLHttpRequest cannot load file:///******/test/1/page/home/homePage.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.说明你的整个文件夹不是在一个服务器下运行,因为要加载外部的html代码,所以浏览器是禁止的,只有通过本地的一个服务器才可以运行(这个是在google chrome浏览器中实践的)。
  • 在火狐浏览器中好像是可以直接运行的,好像不需要开一个服务器。
  • 仔细检查一下你的代码所加载的模块是否都加载完成了,是否正确,还有在index.html页面中是否添加ng-app

基本上就是这些了,你可以仔细看看,希望可以帮到你。^_^

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进