Неправильно ли предполагать, что 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
, поскольку другие директивы (ng-class
,ng-src
...) оценивают выражение Angular из области видимости. Без кавычек (''
) он будет искать переменную в области видимости.Обратите внимание, что
src
атрибут указывать не обязательно .Можно переписать на: (что проще)
Вы также можете использовать ng-include как элемент :
источник