@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}}">