É errado supor que ngInclude
pode seguir um caminho bruto? Eu continuo tentando definir o meu da ngInclude
seguinte forma:
<div ng-include src="views/header.html"></div>
Isso não funciona, mas se eu fizer algo assim, ele funciona.
// HeaderController
app.controller('HeaderCtrl', function($scope){
$scope.templates = {[
template: { url: 'views/header.html' }
]};
$scope.template = $scope.templates[0].template;
});
No meu index.html
<div ng-controller="HeaderCtrl">
<div ng-include src="template.url"></div>
</div>
Será ngInclude
única, exceto valores fora do alcance? Se sim, por que é assim e não uma inclusão direta do html parcial?
ng-include
, como outras diretivas (ng-class
,ng-src
...) avalia uma expressão angular do escopo. Sem aspas (''
), ele procurará uma variável do escopo.Observe que você não precisa especificar o
src
atributo.Pode ser reescrito para: (isso é mais simples)
Você também pode usar ng-include como um elemento :
fonte