问题描述
想用angular里的routeProvider和template来做content部分的视图切换,为什么这样写并不能实现?代码如下。PS后台非NODE
index.html
... <p id='content-holder'><p ng-view></p> </p>...
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:
<p data-role='content'>... </p>
问题解答
回答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。基本上就是这些了,你可以仔细看看,希望可以帮到你。^_^