我将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
我该如何实现?请帮助。 谢谢
答案 0 :(得分:1)
您可以有一个文件组件,然后执行此操作-我有一个名为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://vuejs.org/v2/guide/installation.html#CLI可以提供有关包括Vue编译器的更多信息。