• component and slot


    component and slot

    使用:

    1.component panel

    <article class="message">
      <div class="message-header">
        <p>Hello World</p>
        <button class="delete" aria-label="delete"></button>
      </div>
      <div class="message-body">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. <strong>Pellentesque risus mi</strong>, tempus quis placerat ut, porta nec nulla. Vestibulum rhoncus ac ex sit amet fringilla. Nullam gravida purus diam, et dictum <a>felis venenatis</a> efficitur. Aenean ac <em>eleifend lacus</em>, in mollis lectus. Donec sodales, arcu et sollicitudin porttitor, tortor urna tempor ligula, id porttitor mi magna a neque. Donec dui urna, vehicula et sem eget, facilisis sodales sem.
      </div>
    </article>
    

    2.其中header和body需要传入变量

    <article class="message">
      <div class="message-header">
        <p>{{$title}}</p>
        <button class="delete" aria-label="delete"></button>
      </div>
      <div class="message-body">
        {{$content}}
      </div>
    </article>
    

    3.views.components.index 中 需要引用component模版panel

    @component('components.panel')
        @slot('title')
            hello world
        @endslot
        @slot('content')
            have a nice day
        @endslot
    @endcomponent
    

    4.如果要传入默认content

    panel.blade.php修改如下:

     <article class="message">
        <div class="message-header">
          <p>{{$title}}</p>
          <button class="delete" aria-label="delete"></button>
        </div>
        <div class="message-body">
          {{$slot}}
        </div>
      </article>
    

    index.blade.php修改如下

    @component('components.panel')
        @slot('title')
            hello world
        @endslot
            have a nice day
    @endcomponent
    
    //可多来几个:
    
    @component('components.panel')
        @slot('title')
            hello world
        @endslot
        have a nice day123
    @endcomponent
    

    5.还可以这样给默认值:title默认为laravel

    panel.blade.php修改如下:
      
         <article class="message">
            <div class="message-header">
              <p>{{$title ?? 'laravel'}}</p>
              <button class="delete" aria-label="delete"></button>
            </div>
            <div class="message-body">
              {{$slot}}
            </div>
          </article>
    index.blade.php修改如下
        
        @component('components.panel')
                have a nice day
        @endcomponent
  • 相关阅读:
    vc++操作mysql数据库的技巧
    [翻译]用表单字段加亮的方式为用户提供友好的界面
    设计方法开篇
    周末之个人杂想(五)
    ComponentArt对Atlas的集成
    [翻译]使用ASP.NET2.0的ReportViewer查看RDLC报表
    [视频讲解]GridView里做链接实现新闻列表到详细内容页的跳转
    关于正则表达式
    周末之个人杂想(七)

  • 原文地址:https://www.cnblogs.com/webskill/p/7469576.html
Copyright © 2020-2023  润新知