简单的ng包括不工作
Simple ng-include not working
我第一次使用AngularJS,我很难在页眉和页脚中使用ng-include。
这是我的树:
myApp
assets
- CSS
- js
- controllers
- vendor
- angular.js
- route.js
......
......
......
main.js
pages
- partials
- structure
header.html
navigation.html
footer.html
index.html
home.html
index.html:
<!DOCTYPE html>
<html ng-app="app">
<head>
<title>AngularJS Test</title>
<script src="/assets/js/vendor/angular.js"></script>
<script src="/assets/js/vendor/route.js"></script>
<script src="/assets/js/vendor/resource.js"></script>
<script src="/assets/js/main.js"></script>
</head>
<body>
<div ng-include src="partials/structure/header.url"></div>
<div ng-include src="partials/structure/navigation.url"></div>
<div id="view" ng-view></div>
<div ng-include src="partials/structure/footer.url"></div>
</body>
</html>
main.js
var app = angular.module("app", ["ngResource", "ngRoute"]);
app.config(function($routeProvider) {
$routeProvider.when("/login", {
templateUrl: "login.html",
controller: "LoginController"
});
$routeProvider.when("/home", {
templateUrl: "home.html",
controller: "HomeController"
});
$routeProvider.otherwise({ redirectTo: '/home'});
});
app.controller("HomeController", function($scope) {
$scope.title = "Home";
});
home.html
<div>
<p>Welcome to the {{ title }} Page</p>
</div>
当我进入home.html页面时,我的页眉、导航和页脚都不会出现。
您正在执行头的includeurl而不是标头html。看起来你想在src属性中使用文字,所以你应该用引号把它们括起来,就像@DRiFTy在评论中提到的那样。
更改
<div ng-include src="partials/structure/header.url"></div>
<div ng-include src="partials/structure/navigation.url"></div>
<div id="view" ng-view></div>
<div ng-include src="partials/structure/footer.url"></div>
至
<div ng-include src="'partials/structure/header.html'"></div>
<div ng-include src="'partials/structure/navigation.html'"></div>
<div id="view" ng-view></div>
<div ng-include src="'partials/structure/footer.html'"></div>
如果这不起作用,请检查浏览器控制台是否有任何404的
我在一个简单的ng include not rendering中遇到了类似的问题:
<div ng-include="views/footer.html"></div>
我用单引号包装了文件路径,现在它呈现为:
<div ng-include="'views/footer.html'"></div>
我遇到了一个类似的问题。
ng-include
没有填充我的部分内容,但没有控制台错误,也没有404错误。
然后我意识到我做了什么。
为我修复:确保您在ng-include
之外有ng-app
!显而易见。成为一个有棱角的角落的代价。
我也遇到了这个问题。这就是对我有效的。
因此,与其写这个:<div ng-include="'html/form.htm'"></div>
您要添加ng-app=""
。所以它应该是这样的:<div ng-app="" ng-include="'html/form.htm'"></div>
我遇到了同样的问题,几乎已经完成了不同堆栈中建议的所有操作,但对我来说不起作用。在控制台上,我收到了错误:
"跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome延伸资源。"
后来我意识到,我必须使用本地网络服务器(MAMP、WAMP等)才能使其工作。
请注意上面的错误消息。很可能您没有使用本地网络服务器来运行您的网站。
我刚刚想出了这个!
对我来说,我使用CDN导入angular.min.js文件,但该文件显然不起作用。我切换到:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
并将ng-app=""
包含在我的身体标签中:
<body ng-app="">
<div ng-include="'testfile.html'"></div>
现在运行良好。干杯
是的,如果没有''
,ng将尝试评估ng-include("")
内的内容
此评估是不将{{}}
放入这些指令的另一个原因。
ng-include在chrome和explorer中不起作用,但在Firefox中起作用,因此这可能是兼容性问题。当然,请尝试在Firefox、Edge或其他浏览器中生成报告。
I也有类似的问题:愚蠢的错误导致了IT,我在下面的textArea例如:
<textarea cols="3" type="text" id="WarehouseAddress" class="form-control" > `
未正确关闭更正如下:
<textarea cols="3" type="text" id="WarehouseAddress" class="form-control" ></textarea>
<div ng-switch="vm.frmDOA.isGenerateDebitNote">
<ng-include src="vm.showupload()"></ng-include>
</div>
我想发布它可能会帮助我花了几个小时解决的任何问题。。。。
ng include文件仅适用于从web服务器获取的文件(需要类似的东西http://mywebsite/myinclude.html链接)。如果您直接从本地文件夹中提取文件(c:''myinclude.html将不起作用),则
如果您通过服务器(本地主机或在线)查看文件,ng-include指令应该正常工作,并且NOT在文件系统下直接查看文件(file:///yourpath/index.html)。
w3schools的这个例子应该很好用。
- 刷新后,setTimeout将工作或不工作
- Windows.Open 在 window.Location 工作时不起作用
- 变量只能在函数中局部工作,不能全局工作-Javascript
- ng消息包括不工作
- jQuery的工作方式不一样
- setInterval工作setTimeout不工作;t
- Javascript在本地工作,不会在Web服务器上工作
- 阻止选择在IE中工作但不在Chrome中工作的文本
- getElementById不工作-根本不返回任何内容
- JQuery 验证引擎不工作,不显示错误消息
- 只是不工作,不知道为什么
- Q.所有工作都不起作用
- 如何将整个页面保存为一个文件,以便它离线工作(包括外部javascript)
- 节奏和余烬,我如何让它在所有路由中工作而不重复代码
- 表单操作无法正常工作.它不会移动到指令链接,即<表单 action=“”>
- jQuery-validate不能与Kendo Button一起工作(包括jsfiddle)
- 包括不引人注目的ajax使所有脚本停止工作
- 简单的ng包括不工作
- 包括不能在chrome浏览器中工作
- 节点Ejs模块,包括不工作