在Vue.js中渲染html标签

use*_*189 4 javascript vue.js

我有以下代码:

HTML

<div id="app">
  <h1>
  Hello {{superscript('hello')}}
  </h1>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

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

我希望这个呈现:

你好,你好

但相反,它会自动渲染标记,而不会将其转换为上标.JSfiddle:http://jsfiddle.net/agreyfield91/eywraw8t/188244/

有没有办法通过Vue.js方法添加html标签?

tik*_*ika 6

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

{{ result }}  => <span v-html="result"></span>
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

<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>
Run Code Online (Sandbox Code Playgroud)