<i class="icon"></i>
结果是一个图标,如:>
但是当我在vue中渲染时:
<i class="icon">{{a}}</i>
a = ''
结果是我有一个字符串!
答案 0 :(得分:1)
a
包含Unicode字符的 HTML转义,但这在JavaScript中不是有效的转义序列,因此它只是一个文字字符串。一种快速解决方案是将a
绑定到元素的v-html
,HTML换码序列有效。
或者,您可以修改a
以使用适当的JavaScript转义序列。 JavaScript中带有Unicode code point escape的Unicode字符的等效项是:
a = '\u{e672}'
new Vue({
el: '#app',
data: () => ({
a: '\u{e672}',
b: '\u{01F638}',
}),
})
<script src="https://unpkg.com/vue@2.5.17"></script>
<div id="app">
<div>{{a}} </div>
<div>{{b}} 😸</div>
</div>
另一种替代方法是使用第三方库(例如ent
)对HTML转义的字符串进行解码:
const ent = require('ent');
a = ent.decode('');