我试图在表单文本输入中显示一些html实体,但v-model似乎无法实现它们。
要让v-model正确显示html实体,我需要写些什么吗?
我的示例代码是
<el-input v-model="data" readonly="readonly"></el-input>我知道v-html,但我更喜欢继续使用v-model,因为它是自动双向绑定的。
更新
也许我表达错了,我想要显示字符,而不是₹实体,所以我需要显示49.42html。
发布于 2018-11-14 08:46:46
如果你对一个解释HTML实体的计算机进行v建模,我想你会得到你想要的效果。您可以键入实体值,它将正确地解释它们。但是,它可能过早地变成另一个字符;您必须键入#8377;,然后返回并插入。
new Vue({
el: '#app',
data: {
a: '49.42₹'
},
computed: {
asText: {
get() {
return this.toText(this.a);
},
set(newValue) {
this.a = newValue;
}
}
},
methods: {
toText(html) {
const div = document.createElement('div');
div.innerHTML = html;
return div.textContent;
}
}
})<link href="//unpkg.com/element-ui@1.0.0-rc.3/lib/theme-default/index.css" rel="stylesheet"/>
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui/lib/index.js"></script>
<div id="app">
<el-input v-model="asText"></el-input>
{{a}}
<div v-html="a"></div>
</div>
https://stackoverflow.com/questions/53282349
复制相似问题