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

问题描述 投票:1回答:3

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

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

我认为这是因为{{ {{ }} }}加倍,因为当它呈现数据时它变为{{这是{{question}}#1}}所以它有什么解决方法吗?

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

php laravel view summernote
3个回答
1
投票

尝试使用jquery的replaceWith()函数并在其中放置一个限制,以便只要在输入中找到它就将{{}}转换为HTML实体。

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

有关更多信息,请访问replaceWith()函数,对于HTML实体,请访问here


1
投票

如果我理解正确,你可能会错过'@'

像这样:

@{{ '{{ 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。您可能拥有的数据会弄乱模板中的结束/打开标记。

enter image description here


0
投票

清除视图缓存后尝试

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

希望它会有所帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.