【问题标题】:VueJS can't render this textVueJS 无法呈现此文本
【发布时间】:2020-04-19 08:03:11
【问题描述】:

我的数据库中有这个特定的字符串:

s"""{{{}}>>> ;d's

和许多其他项目一样,我的应用程序根目录是 #app,它包装了我的所有应用程序。

当我尝试在屏幕上显示该字符串时

这样(刀片模板):

<div class="content">
    {{ $project->description }}
</div>

我明白了

invalid expression: Unexpected token ')' in

    "s&quot;&quot;&quot;"+_s({)+"&gt;&gt;&gt; ;d&#039;s"

  Raw expression: s&quot;&quot;&quot;{{{}}&gt;&gt;&gt; ;d&#039;s

来自控制台上的 Vue 错误。我正在使用 laravel 应用程序和刀片模板。我应该怎么做才能按原样显示字符串?

【问题讨论】:

  • 您可以尝试通过这样做来取消转义字符串:{!! $project-&gt;description !!},但只有在您 100% 信任将呈现的内容时才使用此方法,否则您可能容易受到 XSS 攻击
  • 同样的结果。

标签: laravel vue.js laravel-blade


【解决方案1】:

您可以使用v-pre 避免将文本解释为 Vue 模板语法:

<div v-pre class="content">
    {{ $project->description }}
</div>

https://vuejs.org/v2/api/#v-pre

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2019-11-19
    相关资源
    最近更新 更多