首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vuejs v-model自动转义html实体

Vuejs v-model自动转义html实体
EN

Stack Overflow用户
提问于 2018-11-13 21:41:52
回答 1查看 2K关注 0票数 2

我试图在表单文本输入中显示一些html实体,但v-model似乎无法实现它们。

要让v-model正确显示html实体,我需要写些什么吗?

我的示例代码是

代码语言:javascript
复制
<el-input v-model="data" readonly="readonly"></el-input>

我知道v-html,但我更喜欢继续使用v-model,因为它是自动双向绑定的。

更新

也许我表达错了,我想要显示字符,而不是₹实体,所以我需要显示49.42html。

EN

回答 1

Stack Overflow用户

发布于 2018-11-14 08:46:46

如果你对一个解释HTML实体的计算机进行v建模,我想你会得到你想要的效果。您可以键入实体值,它将正确地解释它们。但是,它可能过早地变成另一个字符;您必须键入#8377;,然后返回并插入。

代码语言:javascript
复制
new Vue({
  el: '#app',
  data: {
    a: '49.42&#8377;'
  },
  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;
    }
  }
})
代码语言:javascript
复制
<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>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53282349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档