V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
touch
V2EX  ›  PHP

求助一个 laravel5.2 blade 模板的问题

  •  
  •   touch · 2017-02-15 13:30:44 +08:00 · 2102 次点击
    这是一个创建于 2598 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想定义个可变的 class

    <div class="content@yield('content-class')">
    

    这样不行会直接输出 必须

    <div class="content @yield('content-class')">
    

    中间一个空格 有什么办法可以不空格

    @section('content-class', 'A')
    class=contentA
    
    7 条回复    2017-02-15 22:52:13 +08:00
    kumakiti
        1
    kumakiti  
       2017-02-15 13:55:20 +08:00
    那就得在传递 content-class 的时候前面加空格了
    touch
        2
    touch  
    OP
       2017-02-15 14:13:15 +08:00
    @kumakiti <div class="content@yield('content-class')"> 这样写的话模板是不会解析
    html 源码就是这样 我是想如果没有设置 content-class 的话 class=content
    设置了就是 contentA
    shoaly
        3
    shoaly  
       2017-02-15 14:40:17 +08:00
    <div class="content{{ $more ? " contentA" : "" }}">
    osinx
        4
    osinx  
       2017-02-15 15:51:49 +08:00
    @yield('content-class', 'contentA')
    touch
        5
    touch  
    OP
       2017-02-15 16:51:01 +08:00
    @osinx 不是设置默认值
    如果这样写的话<div class="content@yield('content-class')"> 在 html 里面查看源码就是默认输入 laravel 没有解析 @yield
    必须在前面<div class="content @yield('content-class')">空格模板才会解析
    但是这样就变成了 class=content A
    Mutoo
        6
    Mutoo  
       2017-02-15 16:55:01 +08:00
    用 @yield 来控制 class ,未免有点小题大作了吧...
    klgd
        7
    klgd  
       2017-02-15 22:52:13 +08:00
    既然是一个 class 名,就把整体 contentA 做 yield 好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5394 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:10 · PVG 17:10 · LAX 02:10 · JFK 05:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.