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.html
和part.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不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 ng-include 作为父节点时,使用 jquery 禁用所有子元素的 Angular 指令不起作用