AngularJS ng-include不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS ng-include不起作用相关的知识,希望对你有一定的参考价值。

这是main.html文件的来源

<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

    <script>
        var myApp = angular.module ('myApp',[]);
        myApp.controller('myCtrl', function ($scope){
            $scope.name = "Tim";
            $scope.partialStuff = [ 'a', 'b', 'c' ];
            alert(window.angular.version.full);//1.3.14 is displayed
        });
    </script>
</head>
<body ng-app="myApp">
    <div ng-controller="myCtrl">
            {{name}}
        <div ng-repeat="partialVar in partialStuff">
            Hello: <div ng-include src="'part.html'"></div>
        </div>
    </div>
</body>
</html>

还有一个part.html包含一个纯文本'part' - 只是几个符号。

文件main.htmlpart.html都位于同一个文件夹中。

当我在浏览器中打开main.html时,我看不到来自part.html的内容的三个重复但是我看到三个Hello:。好像part.html似乎没有加载。

为什么?

谢谢。

请将其放在body标签内以使其正常工作

<script type="text/ng-template" id="part.html">
  part
</script>
答案

您无法使用file:// protocol直接导入本地文件。

你应该看看:Is it possible to use ng-include without web server?

另一答案
<div ng-include="'part.html'"></div>

我应该是正确的语法。更多信息here

编辑:另外,文件路径应该来自根目录而不是html文件的相对路径。

另一答案

ng-include可用作:

<div>
    <ng-include src="demo.html"></ng-include>

这肯定会包含你的文件,就像普通的src一样。 ng-include也在本地服务器上工作。没有必要像tomcat那样添加额外的服务器来运行这个文件。这将像html文件一样运行。

以上是关于AngularJS ng-include不起作用的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS ng-include不起作用

ng-model 未更新 ng-include [关闭]

使用 ng-include 作为父节点时,使用 jquery 禁用所有子元素的 Angular 指令不起作用

AngularJS ng-include 不包含视图,除非传入 $scope

AngularJs学习笔记——ng-include

angularjs中的条件ng-include