【问题标题】:Laravel blade can't print double curly brackets [duplicate]Laravel刀片无法打印双花括号[重复]
【发布时间】:2018-09-22 10:52:23
【问题描述】:

我想从 Laravel 刀片模板打印双花括号。这是我迄今为止尝试过但失败的方法:

@{{ n }}

{!! '{{ n }}' }}

@php echo '{{ n }}'; @endphp

@php echo '{{ n }}'; @endphp

这是我的观点:

<div class="new-page">
    <div class="row">
        <div class="col-sm-4"></div>
        <h3 class="col-md-6 center">Page @if(isset($n)) {{ $n }} @else @{{ n }} @endif</h3>
    </div>
</div>

奇怪的是,当我尝试上述任何方法时都没有错误,它只是显示一个空白页面。

我使用的是 Laravel 5.6,我也尝试过谷歌搜索,但没有解决方案。

事实证明,Laravel 附带的默认 app.js 文件抛出了一个错误,并且它破坏了页面 - 但我不知道具体原因。错误如下:

n is not defined

【问题讨论】:

  • @AbdEllatifLakehal 我看到了那个,解决方案不起作用。
  • @Script47 那个也看到了,也不行。
  • 错误报告是否开启?短标签也有吗?还要查看页面的source,而不仅仅是浏览器呈现的内容。
  • 您使用的语法是正确的。这可能与 php 的版本和/或某些设置有关。

标签: php laravel laravel-5 blade


【解决方案1】:

Page &lt;?php if(isset($n)) echo "{{ ".$n." }}"; else echo "{{ ".n." }}"; ?&gt;

这会很好,您可以查看下面的屏幕截图

【讨论】:

    【解决方案2】:

    尝试使用 php 标签,如

    <?php if(isset($n)) echo $n;  else echo "{{ n }}"; ?>
    

    【讨论】:

      【解决方案3】:

      你能不能不这样做:

      @php echo "{{" . {{ $n }} . "}}" @endphp
      

      问题是控制器传入或创建的变量或在视图中较早声明的变量?

      【讨论】:

      • 这会产生语法错误。
      • n 是从控制器传入的变量还是之前在刀片模板中创建的?
      猜你喜欢
      • 2015-06-19
      • 2019-07-24
      • 2017-02-13
      • 2020-05-05
      • 2015-04-14
      • 2015-07-22
      • 2018-04-19
      • 2018-08-08
      • 2016-01-05
      相关资源
      最近更新 更多