찾다

 >  Q&A  >  본문

angular.js - 关于angular路由的问题

想用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 id="content" data-role="content">
        ...
    </p>
高洛峰高洛峰2743일 전556

모든 응답(1)나는 대답할 것이다

  • 为情所困

    为情所困2017-05-15 16:54:23

    귀하의 코드에 따라 실행했는데 다음 단계에서 오류가 나타날 수 있을 것으로 예상됩니다.

    • homePage.html 경로가 올바른지 확인하세요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
    • 다음 오류 메시지가 나타나는 경우 XMLHttpRequest can load file:///***&#&/test/1/page/home/homePage.html 정보를 확인할 수 있습니다. 요청은 http, data, chrome, chrome-extension, https, chrome-extension-resource와 같은 프로토콜 체계에 대해서만 지원됩니다.이는 외부 HTML 코드를 로드해야 하기 때문에 전체 폴더가 서버에서 실행되지 않음을 의미합니다. . 이므로 브라우저는 금지되어 있으며 로컬 서버를 통해서만 실행될 수 있습니다(이는 google chrome 브라우저에서 실행됩니다).

    Firefox 브라우저에서 바로 실행이 가능한 것 같고, 서버를 열 필요도 없는 것 같습니다.

    🎜코드로 로드한 모든 모듈이 올바르게 로드되었는지, ng-appindex.html 페이지에 추가되었는지 주의 깊게 확인하세요. 🎜 🎜 🎜기본적으로는 그게 다입니다. 자세히 살펴보시면 도움이 되길 바랍니다. ^_^🎜

    회신하다
    0
  • 취소회신하다