我需要在我的项目中呈现一些随机/动态的html数据,这些数据可能包含样式标签,默认情况下vue.js不允许在模板中使用样式标签,以避免样式混乱,这是一个非常好的选择。为了让我的项目正常工作,我尝试了github上的一些运行时组件项目,但他们不接受我需要的css样式。所以我想出了创建自己的运行时组件来接受css样式数据的解决方案。我想要的代码是这样的:
<template>
<div v-html="template"></div>
</template>
<script>
export default {
name: "DynamicTemplate",
props: {template: String, style: String}
}
</script>
<style scoped>
// style data goes here
</style>
任何替代的工作解决方案也是受欢迎的:)
我在组件样式标签上尝试了v-html
和v-text
属性(没有任何结果),还使用了带有base64编码的css代码的css @import
语句(得到了一些错误,如无法读取未定义的属性),但它们都不起作用:(
3条答案
按热度按时间hyrbngr71#
下面是一个传递的示例,它可以在项目中传递动态HTML数据,其中包含一个使用样式标记的示例
这是正在使用的组件。
idv4meu82#
下面是一个可以在项目中传递动态HTML数据的传递示例以及一个动态传递类的示例
这是正在使用的组件。
wh6knrhe3#
您可以将style标记中的数据封装在vue提供的component标记中,方法如下-〉
在我创建的这个项目中可以找到相同的示例
https://codesandbox.io/s/interesting-dewdney-id9erd?file=/src/components/HelloWorld.vue