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>