如何使用 angularjs promises预加载css background-image 我想做的是我可以这样使用的东西: link: function(scope, element, attrs){ element.hide(); url = attrs.url; preload(url).then(function(loadedImageURL){ element.css({
          我想做的是我可以这样使用的东西:
link: function(scope, element, attrs){
    element.hide();
    url = attrs.url;
    preload(url).then(function(loadedImageURL){
        element.css({
            background-image: "url('" + loadedImageURL + "')"
        });
    });
    element.fadeIn();
} 
 请注意,这不是this one的重复问题.
试试这个:function preload(url) {
  var deffered = $q.defer(),
      image = new Image();
  image.src = url;
  if (image.complete) {
    deffered.resolve();
  } else {
    image.addEventListener('load', function() {
      deffered.resolve();
    });
    image.addEventListener('error', function() {
      deffered.reject();
    });
  }
  return deffered.promise;
}
        
             