【週刊ドットインストール】 『データで学ぶアルゴリズム Level 1-2』を運営中、Level 1-2も来週リリース予定!
{{ $title }} に値を代入するために、<x-slot>タグで囲む理由を知りたいです。 まずは、これまでの学習をそもそも理解できているのか確認したいので、流れを書かせてください。
{{ $title }}
<x-slot>
layout.blade.phpには、index.blade.phpとshow.blade.phpにおける共通部分を記述しますよね。 一方、containerクラス内はファイルによって異なるデータを入れたいので{{ $slot }}と書いてあります。
layout.blade.php
index.blade.php
show.blade.php
container
{{ $slot }}
// layout.blade.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>{{ $title }}</title> <link rel="stylesheet" href="{{ url('css/style.css') }}"> </head> <body> <div class="container"> {{ $slot }} </div> </body> </html>
その後、index.blade.phpとshow.blade.phpでは、<x-layout>タグで囲んでいます。 タグ内では{{ $slot }}の中身を記述しています。
<x-layout>
この一連の流れは、 「layout.blade.phpの中身をココでも使うけど、それ以外は<x-layout>タグ内に書き込んでね〜」 という意味で捉えています。
さらに、<title>タグ内でも異なる表記をさせるため、 layout.blade.phpにて{{ $title }}という変数を追加しましたよね。 ここまではなんとなく理解できていると思います。
<title>
ただ、そのあとの<x-slot name="title">が理解できていません。 <x-slot>タグで囲み、name属性を指定することで、 layout.blade.phpの{{ $title }}に好きな値を埋め込めるのはわかります。
<x-slot name="title">
また、{{ $title }}は違う名前にできるのに{{ $slot }}は変えられませんでした。 このことからlayout.blade.phpにおいて{{ $slot }}という表記は必須だと思います。 とはいえ{{ $slot }}はlayout.blade.php内で一部分を表すものに過ぎないと認識しています。
つまり、<layout>タグは「全体」を表すようなものになんとなく思えるのですが、 {{ $slot }}はlayout.blade.phpにおいて「一部分」しか担っていないように見えます。 それなのになぜ、 <x-slot name="title">と囲まなくてはならないのか想像が難しかったです。 <x-title>とはならないんだなぁと不思議です。 一体x-slotと{{ $title }}にどんな関係があるのか気になります。
<layout>
<x-title>
x-slot
質問の意図が伝わらなかったら申し訳ありません。 <x-slot>タグで囲み、name属性を指定するワケを教えていただけると理解の助けになります。 ご回答よろしくお願いいたします。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
{{ $title }}に値を代入するために、<x-slot>タグで囲む理由を知りたいです。まずは、これまでの学習をそもそも理解できているのか確認したいので、流れを書かせてください。
layout.blade.phpには、index.blade.phpとshow.blade.phpにおける共通部分を記述しますよね。一方、
containerクラス内はファイルによって異なるデータを入れたいので{{ $slot }}と書いてあります。その後、
index.blade.phpとshow.blade.phpでは、<x-layout>タグで囲んでいます。タグ内では
{{ $slot }}の中身を記述しています。この一連の流れは、
「
layout.blade.phpの中身をココでも使うけど、それ以外は<x-layout>タグ内に書き込んでね〜」という意味で捉えています。
さらに、
<title>タグ内でも異なる表記をさせるため、layout.blade.phpにて{{ $title }}という変数を追加しましたよね。ここまではなんとなく理解できていると思います。
ただ、そのあとの
<x-slot name="title">が理解できていません。<x-slot>タグで囲み、name属性を指定することで、layout.blade.phpの{{ $title }}に好きな値を埋め込めるのはわかります。また、
{{ $title }}は違う名前にできるのに{{ $slot }}は変えられませんでした。このことから
layout.blade.phpにおいて{{ $slot }}という表記は必須だと思います。とはいえ
{{ $slot }}はlayout.blade.php内で一部分を表すものに過ぎないと認識しています。つまり、
<layout>タグは「全体」を表すようなものになんとなく思えるのですが、{{ $slot }}はlayout.blade.phpにおいて「一部分」しか担っていないように見えます。それなのになぜ、
<x-slot name="title">と囲まなくてはならないのか想像が難しかったです。<x-title>とはならないんだなぁと不思議です。一体
x-slotと{{ $title }}にどんな関係があるのか気になります。質問の意図が伝わらなかったら申し訳ありません。
<x-slot>タグで囲み、name属性を指定するワケを教えていただけると理解の助けになります。ご回答よろしくお願いいたします。