javascript - 从 Angular http 调用加载数据和背景图像后

标签 javascript html css json angularjs

在我的 Controller 中,我有一个像这样的 http 调用:

$http.get("/api/content").success(function(data){
  $scope.entry = data;
});

$scope.entry 现在看起来像这样:

{
  name: "Test name",
  about: "Some information here",
  image: "//www.example.com/my-image.jpg"
}

现在我像这样在 HTML 中呈现结果:

<div class="block">
  <div>{{entry.name}}</div>
  <div>{{entry.about}}</div>
  <div ng-style="{'background-image':'url(' + entry.image + ')'}"></div>
</div>

效果很好。现在我只希望 block 在 http 调用完成后显示,文本应用于范围并在 HTML 中呈现,并且加载背景图像。所以基本上当 block 完全加载时,它就可以显示了。

所以我最初将 CSS 设置为隐藏该 block ,然后想在准备好时将一个类应用于该 block :

.block {
  opacity: 0;
  transition: opacity 300ms; }

.block.ready { opacity: 1; }

我的问题是,如何检测背景图像何时加载? 我的网站上有很多这样的 block ,每个 block 都有不同的内容,所以我需要多次执行此操作。

最佳答案

你为什么不用ng-show。只需在 $http 回调中使其为真即可。

<div class="block" ng-show="show">
  <div>{{entry.name}}</div>
  <div>{{entry.about}}</div>
  <div ng-style="{'background-image':'url(' + entry.image + ')'}"></div>
</div>

在 $http 回调中:

$http.get("/api/content").success(function(data){
  $scope.entry = data;
  $scope.show=true;
});

关于javascript - 从 Angular http 调用加载数据和背景图像后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30505470/

相关文章:

javascript - 无法在 div block 中呈现 Bootstrap Glyphicons

javascript - 如何隐藏基于一系列父元素的 HTML 元素

javascript - 可以使用 target 和 window.name 吗?

html - 在另一个 div 的底部调整一个 div

html - 如何将文本垂直对齐到左下页脚的中心

javascript - Html,Javascript,创建一个自动限制行数的文本区域(不仅仅是换行符)

javascript - jquery 在页眉和页脚之间滚动

javascript - ThreeJS - 未捕获的 TypeError : b[c]. 调用不是函数 - Orbit Controls

javascript - 在 React Bootstrap 中设置 Form.Check(复选框)控件的样式

javascript - 如何在 Vue 3 中使用路由器 View 制作某些组件 "keep-alive"?