Czy błędem jest zakładanie, że ngInclude
może to obrać surową ścieżkę? Wciąż próbuję ustawić moje ngInclude
w następujący sposób:
<div ng-include src="views/header.html"></div>
To nie działa, ale jeśli zrobię coś takiego, to działa.
// HeaderController
app.controller('HeaderCtrl', function($scope){
$scope.templates = {[
template: { url: 'views/header.html' }
]};
$scope.template = $scope.templates[0].template;
});
W moim pliku index.html
<div ng-controller="HeaderCtrl">
<div ng-include src="template.url"></div>
</div>
Czy ngInclude
oprócz wartości poza zakresem? Jeśli tak, dlaczego tak jest, a nie w prosty sposób dołączanie częściowej kodu HTML.
ng-include
, ponieważ inne dyrektywy (ng-class
,ng-src
...) obliczają wyrażenie kątowe z zakresu. Bez cudzysłowów (''
) wyszuka zmienną o zakresie.Pamiętaj, że nie musisz określać
src
atrybutu.Można przepisać na: (to jest prostsze)
Możesz również użyć ng-include jako elementu :
źródło