由于 Laravel 5.7 中的 {{ }},视图未加载

The view is not loading due to {{ }} in Laravel 5.7

我在 Laravel 视图的文本区域中设置了 summer-note.js,如果我输入任何数据并包含 {{}} 这个在数据中点击保存按钮,post 保存成功,但是当我转到 show route 页面根本没有加载之后我检查了它的 body 元素只是显示,但是当我查看页面源代码时,所有代码都显示在那里,然后我添加了一个没有 {{}} 的新数据,然后我去了 show route,页面是加载正常,但是当我在数据中包含 {{}} 时,页面不再加载,我的 Laravel 查看代码:

<div class="col-md-8">
    <h1>Question # {{ $question->id }}:</h1>
    <p>{!! $question->question !!}</p>
</div>

我认为这是由于双重 {{ {{ }} }} 因为当它呈现数据时它变成 {{ This is {{question}} #1 }} so is there有任何修复吗?

我尝试了 {!! $question->question !!}{{ $question->question }} 但是页面没有加载。

如果我没理解错的话,你可能漏掉了'@'

像这样:

@{{ '{{ test }}' }}

https://laravel.com/docs/5.7/blade#blade-and-javascript-frameworks

根据测试数据,我没有发现任何显示页面的问题:

@php
      $test = '<p>{{Lo<u>rem ipsum dolor s<b>it amet, consectetur }}</p>';
@endphp
<p>{!! $test !!}</p>
<p>{{ $test  }}</p>

此外,我强烈建议不要输出未转义的 html。您拥有的数据可能会弄乱模板中的 closing/opening 标签。

清除视图缓存后再试

php artisan view:clear 并将您的文本转换为 html 使用 {!! !!}

希望对您有所帮助:)

尝试使用 jquery 的 replaceWith() 函数并在其中添加限制以转换 {{ }} 到 HTML 实体,只要在输入中找到它。

HTML { 的实体是 &#123;} 的实体是 &#125;

For more information, visit replaceWith() function and for HTML entities visit here