@ jaime 당신의 대답은 괜찮습니다. 그러나 페이지에 $ http.get이 있으면 ng-if를 사용합니다.
app.directive('backImg', function(){
return function($scope, $element, $attrs){
var url = $attrs.backImg;
$element.css({
'background-image': 'url(' + url + ')',
'background-size': 'cover'
});
}
});
공장에서
app.factory('dataFactory', function($http){
var factory = {};
factory.getAboutData = function(){
return $http.get("api/about-data.json");
};
return factory;
});
컨트롤러 영역에서
app.controller('aboutCtrl', function($scope, $http, dataFactory){
$scope.aboutData = [];
dataFactory.getAboutData().then(function(response){
// get full home data
$scope.aboutData = response.data;
// banner data
$scope.banner = {
"image": $scope.aboutData.bannerImage,
"text": $scope.aboutData.bannerText
};
});
});
그리고 아래처럼 ng-if를 사용하면 뷰를 보간하여 이미지를 얻습니다. 그렇지 않으면 지시어가 HTTP 요청 전에 값을 가져 오기 때문에 이미지를 가져올 수 없습니다.
<div class="stat-banner" ng-if="banner.image" background-image-directive="{{banner.image}}">