Ответ 1
ng-include
принимает выражение.
Если вы хотите указать явный URL прямо там, вы должны указать строку.
<div ng-include src="'page.html'"></div>
Неправильно ли считать, что 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.
ng-include
принимает выражение.
Если вы хотите указать явный URL прямо там, вы должны указать строку.
<div ng-include src="'page.html'"></div>
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>