【问题标题】:Displaying and Rendering Vue Components in v-html在 v-html 中显示和渲染 Vue 组件
【发布时间】:2019-05-12 20:09:18
【问题描述】:

所以我将我的帖子的 HTML 存储在我的数据库中(作为下面的示例内容) 在我的帖子页面上,您可以查看数据我有一个简单的

<span v-html="content"></span>

我想问一下,当从数据库中获取 Vue 组件作为示例或一般的 v-html 时,如何使 Vue 组件在 HTML 中工作。

如果 v-html 不是我经常在不同来源上阅读的方法,那么这里最好的用例是什么?

<div v-swiper:mySwiper="">
  <div class="swiper-button-prev" slot="button-prev"></div>
  <div class="swiper-button-next" slot="button-next"></div>
  <div class="swiper-pagination" slot="pagination"></div>
  <div class="swiper-wrapper">
   <div class="swiper-slide"><img src="v8.jpg"></div> 
   <div class="swiper-slide"><img src="v7.jpg"></div>
   <div class="swiper-slide"><img src=v6.jpg"></div>
  </div>
<div class="swiper-pagination"></div> 
</div>

【问题讨论】:

    标签: javascript html vue.js vuejs2


    【解决方案1】:

    我不会这么早掉毛巾的。看看https://github.com/alexjoverm/v-runtime-template

    这可能对您的用例有用,因为通常担心这些方法对恶意注入的安全性。

    但是,从长远来看,我会寻找不同的解决方案,例如在您的所见即所得编辑器中嵌入一些特殊标签,并在呈现内容时将这些标签替换为真实组件(可能使用动态组件https://vuejs.org/v2/guide/components-dynamic-async.html)。

    【讨论】:

    • 感谢您到目前为止的帮助,但运行时模板可能对 SEO 没有那么好?另一个问题是我必须以什么格式将帖子存储在我的数据库中(内容)
    • 好的,在 Codesandbox 中(不是我的项目中的家)我让滑块工作了,我今天将向你报告它在我的项目中是如何工作的
    猜你喜欢
    • 1970-01-01
    • 2018-12-03
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2022-10-06
    • 1970-01-01
    相关资源
    最近更新 更多