angularjs – 空ng-src不更新图像
发布时间:2020-12-17 08:43:38 所属栏目:安全 来源:网络整理
导读:我使用ng-src指令,以避免浏览器在Angular评估表达式之前请求图像。 ng-src = {{image}}将更新图像的src属性,如果表达式“image”改变。 我误解为什么ng-src指令不更新图像的路径,如果表达式(“myImage.png”)变为空(“”)。 当表达式变为空时,ng-src属性
我使用ng-src指令,以避免浏览器在Angular评估表达式之前请求图像。
ng-src = {{image}}将更新图像的src属性,如果表达式“image”改变。 当表达式变为空时,ng-src属性变为空,但src属性仍然是最后一个已知的src。所以它不更新图像。为什么src属性没有更新(到空的src),以便图像“消失”。 这里是一个plunker 谢谢
对此的答案是在Angular代码。这不是一个bug,它只是他们决定他们想要的行为。从第13895行开始,你可以看到这个指令代码:
forEach(['src','srcset','href'],function(attrName) { var normalized = directiveNormalize('ng-' + attrName); ngAttributeAliasDirectives[normalized] = function() { return { priority: 99,// it needs to run after the attributes are interpolated link: function(scope,element,attr) { attr.$observe(normalized,function(value) { if (!value) return; attr.$set(attrName,value); if (msie) element.prop(attrName,attr[attrName]); }); } }; }; }); 关键是: if(!value)return; 所以你可以看到,如果你将ng-src表达式改为一个空字符串,这将永远不会改变实际的src值。你可以解决这个问题MadScone建议。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – 如何在响应拦截器中再次发送请求?
- vim – YouCompleteme有效,但无法使用TAB完成
- WCF4.0 –- RESTful WCF Services (4) (Basic Security)
- wcf的 msmq
- twitter-bootstrap – 同一页面上的两个bootstrap typeahea
- shell 函数法实现监控web 网站url
- 无法在Scala中编译文件
- 角度2 RC5&@ angular / router 3.0.0-rc.1配置错误或错
- 【数据结构】typedef struct 和 struct在链表中的应用
- 技术分享报名 | AngularJS框架进阶:如何用Angular写界面