Vue - 如何在 vue 组件中呈现 HTML

Kev*_*jan 10 directive render vue.js

这就是我想要完成的:

{{ span('Hello') }}
Run Code Online (Sandbox Code Playgroud)

所需的输出应该是:

<span>
   Hello
</span>
Run Code Online (Sandbox Code Playgroud)

这可能吗?

谢谢

Sat*_*hak 20

看看下面的片段 -

注意 - 您无法html在内部渲染,{{ }}因为它已添加到元素的文本节点。要将其呈现为 html,您需要使用v-html并让您的函数返回element包装您的文本

new Vue({
  el: "#app",
  data: {
    foo: 'asdasd'
  },
  methods: {
   span(text) {
    return `<span> ${text} </span>`
   }
  }
})
Run Code Online (Sandbox Code Playgroud)
span {
 color: red;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>


<div id="app">
  <h1> 
    Render whatever you want
  </h1>
  <div v-html="span('Hello world')" /> 
</div>
Run Code Online (Sandbox Code Playgroud)