在Vue.js中呈现html标签

时间:2018-07-19 19:25:16

标签: javascript vue.js

我有以下代码:

HTML

<div id="app">
  <h1>
  Hello {{superscript('hello')}}
  </h1>
</div>

JS

new Vue({
  el: "#app",
  data: {
  },
  methods: {
    superscript(input) {
        return '<sup>' + input + '</sup>'
    }
  }
})

我希望它呈现:

  

你好你好

但是,它会渲染标签本身,而不会将其变成上标。 JSfiddle:http://jsfiddle.net/agreyfield91/eywraw8t/188244/

是否可以通过Vue.js方法添加html标签?

1 个答案:

答案 0 :(得分:5)

您需要绑定它,而不是呈现html:

{{ result }}  => <span v-html="result"></span>

在您的情况下:

<div id="app">
  <h1>
  Hello <span v-html="superscript('hello')"></span>
  </h1>
  <h1>
  What I want it to look like:   Hello <sup>hello</sup>
  </h1>
</div>