我在使用IE11中的角色时遇到问题。它在角度指令的jade模板中使用,它只是IE11中的一个问题。
我有两个span标签,第一个包含字符">"以下一个包含{{var}}。该变量按字面打印为" {{var}}"在浏览器中而不是" val",但是当我将第一个跨度内容更改为其他任何内容时,{{var}}被渲染为" val"。
我尝试过使用HTML实体(›
)但它仍然会破坏它。我已经尝试了其他几个HTML实体,它们工作正常。
这个特定角色似乎是一个问题。有谁知道这是为什么?
以下是代码:
span.rsaquo ›
span.subcategory {{ category.subname }}
这是输出:
答案 0 :(得分:3)
我在代码中直接使用双尖括号字符看到了这个问题。我还发现在使用ndash字符时。我找到的解决方案是在任何你想使用这些有趣字符的地方使用ng-bind-template属性。
<span ng-bind-template="rsaquo >">
<span>{{category.subname}}</span>
</span>
或
<span ng-bind-template="rsaquo >">
<span ng-bind="category.subname"></span>
</span>
潜在的问题是IE停止使用这些字符处理DOM元素上的javascript(虽然我不确定为什么)。它只用于包含该角色的元素以及任何子元素。
只有在加载页面时角色直接出现在HTML中才会发生。这就是为什么如果你把它放在ng-bind-template指令中,IE就不会看到它,直到所有内容都加载完毕并处理完所有内容。
答案 1 :(得分:0)
span.rsaquo ›
你有空间。尝试不给这样的空间:
span.rsaquo›