angularjs – 如果ngSrc路径解析为404,有没有办法回退到默认值?

前端之家收集整理的这篇文章主要介绍了angularjs – 如果ngSrc路径解析为404,有没有办法回退到默认值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建的应用程序需要我的用户设置4个信息之前,这个图像甚至有机会加载。这个图像是应用程序的中心部分,所以破碎的图像链接使得它看起来像整个东西是borked。我想要另一个图像在404的地方。

有任何想法吗?我想避免为此写一个自定义指令。

我很惊讶,我找不到一个类似的问题,特别是当第一个问题在文档是同一个!

http://docs.angularjs.org/api/ng.directive:ngSrc

这是一个非常简单的指令,以观察加载图像和替换src的错误(Plunker)

Html:

  1. <img ng-src="smiley.png" err-src="http://google.com/favicon.ico" />

Javascript:

  1. var app = angular.module("MyApp",[]);
  2.  
  3. app.directive('errSrc',function() {
  4. return {
  5. link: function(scope,element,attrs) {
  6. element.bind('error',function() {
  7. if (attrs.src != attrs.errSrc) {
  8. attrs.$set('src',attrs.errSrc);
  9. }
  10. });
  11. }
  12. }
  13. });

如果要在ngSrc为空时显示错误图像,可以添加(Plunker)

  1. attrs.$observe('ngSrc',function(value) {
  2. if (!value && attrs.errSrc) {
  3. attrs.$set('src',attrs.errSrc);
  4. }
  5. });

问题是,如果值为空,ngSrc不会更新src属性

猜你在找的Angularjs相关文章