簡體   English   中英

動態渲染 vue 模板

[英]dynamically render vue template

我有 vue 模板數據作為字符串。 例如,
String s = "<div>{{myData}}</div>"

現在我想在我已經定義的 vue 組件中進行渲染。

<template>
<div>
   HERE I NEED TO PLACE THE STRING
</div>
</template>
<script>
export default {
  name: 'HelloWorld',
  data: {
    myData: "IRONMAN"
  },
}
</script>

現在我想要輸出為IRONMAN

我怎樣才能做到這一點? 請幫忙。 謝謝

您可以擁有一個文件組件並執行此操作 - 我有一個名為Dynamic.vue的接受 HTML 字符串的組件 - 我使用它來允許用戶生成自己的模板並且綁定都正確匹配,例如:

<script>
export default {
  data () {
    return {
      someVar: 'Test'
    }
  },
  props: {
    templateHtml: {
      templateHtml: true,
      type: String
    }
  },
  created () {
    this.$options.template = this.templateHtml
  }
}
</script>

如果你這樣稱呼它:

this.htmlData = '<div>Hello - {{{someVar}}</div>'
....
<my-dynamic-component :template-html="htmlData" />`

你會看到輸出

你好測試

然后,您將省略 SFC 中的<template>部分。

注意:為了讓它工作,你還必須在你的項目中包含 Vue 編譯器(因為它處理將 SFC 編譯成 Vue 用來顯示數據的渲染函數)。

此鏈接: https ://v2.vuejs.org/v2/guide/installation.html#CLI 可以提供有關包含 Vue 編譯器的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM