angularjs - 了解 AngularJS ng-src

标签 angularjs directive

如解释 here ,AngularJS 指令 ng-src 用于防止浏览器在句柄被解析之前加载资源(例如图像)。我目前正在使用以下代码:

<div ng-controller="MyCtrl">
  <img ng-src="http://localhost:8081/media/{{ path }}" />
</div>
使用以下 JavaScript:
function MyCtrl($scope, $timeout) {
    $timeout(function () {
        $scope.path = 'images/23694c70-04d7-11e3-9ba8-73fb00de24c4.png';
    }, 1000);
};
正在从 Web 服务检索路径。由于这种延迟,浏览器会尝试加载 http://localhost:8081/media/ ,这会导致 404。一旦检索到路径,浏览器就会发出正确的请求并加载图像。
在所有数据准备好之前防止加载任何资源的首选方法是什么?
请看 jsfiddle举个例子来说明我的情况。

最佳答案

将整个路径放在 $scope 变量中。那样ng-src将等到您向它提供图像的完全解析路径:

<div ng-controller="MyCtrl">
  <img ng-src="{{ path }}" />
</div>

function MyCtrl($scope, $timeout) {
    var path = 'https://si0.twimg.com/profile_images/';
    $timeout(function () {
        $scope.path = path + '2149314222/square.png';
    }, 1000);
};

FIDDLE

关于angularjs - 了解 AngularJS ng-src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235169/

相关文章:

java - 使用 AngularJS 和 Spring Boot 的 Websocket

javascript - 何时使用 AngularJS 1.5 中引入的一次性绑定(bind)(即 `<` )?

javascript - angularJS 函数的 Doxygen 注释

javascript - 在 Angular 指令链接中向 div 添加 onclick 函数

javascript - 多选插件 - AngularJs - 无法正常工作

javascript - 单击时调用动画

angularjs - Angularjs 中的 Socket.io

delphi - 如何禁用 Delphi 中关于 "return value ... might be undefined"的警告?

css - Rails 中的样式表

javascript - ng 类表达式 : merge condition and class name