假设ngInclude
可以采取原始路径是错误的吗?我一直试图将ngInclude
设置如下:
<div ng-include src="views/header.html"></div>
这不起作用,但如果我这样做,它确实有效。
// HeaderController
app.controller('HeaderCtrl', function($scope){
$scope.templates = {[
template: { url: 'views/header.html' }
]};
$scope.template = $scope.templates[0].template;
});
在我的index.html
中<div ng-controller="HeaderCtrl">
<div ng-include src="template.url"></div>
</div>
仅ngInclude
除范围外的值以外?如果是这样,为什么会这样,而不是直接包含html partial。
答案 0 :(得分:327)
ng-include
接受表达式。
如果要直接在那里指定显式URL,则必须提供一个字符串。
<div ng-include src="'page.html'"></div>
答案 1 :(得分:1)
ng-include
,其他指令(ng-class
,ng-src
...)评估范围内的Angular表达式。如果没有引号(''
),它将搜索范围的变量。
请注意,您不必指定src
属性。
<div ng-include src="'views/header.html'"></div>
可以重写为:(更简单)
<div ng-include="'views/header.html'"></div>
您还可以将ng-include用作元素:
<ng-include src="'views/header.html'"></ng-include>