AngularJS ng-view注释掉了

时间:2015-03-08 13:22:53

标签: javascript angularjs angularjs-directive

我想在angularjs中使用ng-view。我在一个文件夹中创建了3个html文件。其中两个“view1.html”和“view2.html”是必须在ng-view中加载的页面。第三个文件是我的主文件,其中包含angularjs代码,如下所示:

<head>
<meta charset="utf-8" />
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.js"></script>
<script>
    var angularModule = angular.module('demoApp', ['ngRoute']);

    angularModule.config(['$routeProvider',
        function ($routeProvider) {
            $routeProvider
            .when("/viewq", { controller: "testController", templateUrl: "/view1.html" })
            .when('/vieww', { controller: 'testController', templateUrl: '/View2.html' })
            .otherwise({ redirectTo: '/viewq' });
        }]);

    angularModule.controller('testController', function ($scope) {
        $scope.systemData = [{ name: "Test", city: "Frankfort" },
            { name: "John", city: "New york" },
            { name: "Mike", city: "London" }
        ];

    });

</script>

<body>
   <div ng-app="demoApp">
      <div ng-view></div>
   </div>
</body>

问题是ng-view被注释掉了所以我没有加载html文件。

注意:我收到此错误: XMLHttpRequest无法加载file:/// C:/AngularJS/view1.html。交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。

是否意味着在没有托管的情况下编写ng-view是不可能的?如果是这样的话,有人可以给我一个参考吗?

1 个答案:

答案 0 :(得分:0)

要使用ng-view,你可能会想要使用服务器,否则你很可能遇到你面临的交叉源请求问题。但是,如果真的想要使用本地文件系统,你可以禁用它Chrome中的原始政策(虽然我不确定它是否可行,我甚至不推荐它):Disable same origin policy in Chrome

这里提到另一种替代方法: https://stackoverflow.com/a/23492993/3006737

我个人也不会这样做,建议您使用某种服务器。您甚至不需要使用任何服务器功能。只是为了运行实际页面。我通常只运行内置的PHP服务器(即使我没有使用任何PHP文件),尽管像Node和Apache这样的东西可以正常工作。

http://php.net/manual/en/features.commandline.webserver.php