【问题标题】:Value not set with Angular2 and IE 11 (shims added)未使用 Angular2 和 IE 11 设置值(添加了垫片)
【发布时间】:2016-05-08 02:40:59
【问题描述】:

首先,让我说,是的,我已经在我的 index.html 中包含了垫片。

<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/systemjs/dist/system-polyfills.js"></script>
<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js">
</script> 

我正在使用 Angular2 beta-17。

除了IE中的图片样式,下面的字符串属性都解析好了。

在 IE 中,名称和地址属性显示正常,但样式是 完全从 img 标签中删除。这在所有其他浏览器中都可以正常工作

Name: {{recipient.name}} <br/>
Address: {{recipient.address}} <br/>
<img style="background: url(/pImages/{{recipient._id}}.jpg);"  />

IE样式值中的括号好像有问题 因为下面的硬编码值在 IE 中可以正常工作

<img style="background: url(/pImages/230721.jpg);"  />

我所做的每一次搜索都声称通过输入解决了 IE 的所有问题 垫片,但我已经做到了。

TIA

【问题讨论】:

    标签: angular internet-explorer-11


    【解决方案1】:

    这应该适用于所有浏览器:

    <img [style.background-image]="'url(/pImages/' + recipient._id + '.jpg)'"  />
    

    在 Angular2 版本的 rc.x 中,你目前需要清理一些样式

    Plunker exampleIn RC.1 some styles can't be added using binding syntax

    在测试版中,您不需要我在 Plunker 中使用的管道 (| safe)。

    【讨论】:

    • 抛出此错误:找不到不同的支持对象 'background-image:url(/pimages/57211a89b65ff1be3edd14c5.jpg);我认为这是因为 ngStyle 期望 ? : 表达。除了在 IE 中之外,img [style]="presetExpression" 也可以正常工作。还是卡住了。
    • 编辑后的版本也不行,报错。
    • 哇...解决了 IE 中的问题。谢谢!
    • 仅供参考...我升级到 RC1 导致此解决方案不再有效,因此我尝试使用消毒剂,但这会导致可能嵌入单引号的样式出现问题。此声明:sanitizer.bypassSecurityTrustStyle('url(/pImages/' + this.recipientId + '.jpg)');被转换成这样: style="background-image: url("/pImages/57211a89b65ff1be3edd14c9.jpg");"所以在 url( 之后的双引号结束样式字符串并打破它。我尝试手动输入单引号,但它们最终被转换为双引号,打破了样式字符串。
    猜你喜欢
    • 1970-01-01
    • 2014-02-21
    • 2015-12-02
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    相关资源
    最近更新 更多