我正在尝试使用Vue从数据库中注入HTML。我能够成功注入HTML,但是问题是我的框架样式表(Vuetify)没有得到应用。
它仅应用于注入的HTML,而不应用于页面的其余部分。
如何获取注入的HTML以使用Vuetify CSS?
尽管我在检查HTML时可以看到它们,但是也没有渲染HTML中的图像。
for(auto count = 0, auto mesh : meshList; ; count++)
{
...
}
输出HTML:
<div v-html="post.format"></div>
答案 0 :(得分:0)
正如@Husam所述,Vue不允许您这样做。最终是最好的,甚至应谨慎使用v-html。关于CSS,from the Vue.js site:
在单文件组件中,作用域样式将不适用于内容 在v-html中,因为该HTML未被Vue的模板处理 编译器。如果要使用范围限定的CSS定位v-html内容,则可以 可以改用CSS模块或其他全局元素 并采用手动范围策略(例如BEM)。
作为一种更好的方法,从输出的外观来看,我建议将您的纯文本数据存储在数据库/集合中,并为这种类型的帖子制作组件模板。在数据库/集合中,您可以存储标题,描述,imageURL以及也许componentType。然后,在渲染时,可以从数据库中存储的内容中渲染特定的组件类型。
那会更清洁,更安全,甚至更容易维护。 I created a sample of what I'm talking about here on CodeSandbox.沙箱阻止了图像的加载,但它在那里。我将您的输出分为两个不同的部分,也请参见。