9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Laravel】BladeからVueコンポーネント・Bladeコンポーネントへの値の渡し方

Last updated at Posted at 2021-12-20

内容

LaravelのBladeからVueコンポーネントへの値の渡し方について。
比較)LaravelのBladeコンポーネントへの値の渡し方
比較)Vueの親コンポーネントから子コンポーネントへの値の渡し方

この違いがいつも混同するのでまとめる。

目次

Laravel・BladeからVueコンポーネントへ値を渡す

Bladeの記述

(コントローラーから変数($test_variable)と配列($test_array)を運んできていると仮定)

sample.blade.php
<sample-component :test-attribute='@json($test_variable)':array-attribute='@json($test_array)'>
  • Vueコンポーネント:ケバブケース
  • 属性名:ケバブケース
  • 変数名:コントローラーから渡してきた変数名
  • 注意)属性名の部分は '(シングルクォート)を使うこと(エディタの保管に注意)
  • 補足1)'@json($変数名)'の部分は、"'{{ $変数名(文字列) }}'"もしくは"{{ $変数名(数値) }}"でもよい。文字列は'が必要で、数値は'が不要な点に注意!
  • 補足2)補足1は配列の時は使用できない。
  • 補足3)boolは数字に変換されてしまうので、書くのであれば{{ ($boolean) ? 'true' : 'false' }}と書く必要がある。
  • 補足4)@json($変数名)を使うと数値も文字列も配列もboolもそのまま渡せるので、結局のところ一番ラク。

Vueコンポーネントの記述

SampleComponent.vue
<template>
  <p>{{ testAttribute }}</p>
</template>
<script>
  export default {
    props: {
     testAttribute: String,
     arrayAttribute: Array,
    }
  }
</script>
  • ファイル名:アッパーキャメルケース
  • 変数名:キャメルケース(Bladeの属性名がここに来る)

Laravel・BladeからBladeコンポーネントへ値を渡す

Bladeの記述

(コントローラーから変数($test_variable)を運んできていると仮定)

sample.blade.php
<x-directory.sanmple-conponent :test-attribute="$test_variable"></x-sanmple-conponent>
  • Bladeコンポーネント名:<x-ディレクトリ名.ケバブケース>
  • 属性名:ケバブケース(スネークケースでも動くが、ケバブケースが良い)
  • 変数名:コントローラーから渡してきた変数名

Bladeコンポーネント

resources/views/components/directory/sample-conponent.blade.php
{{ $testAttribute }}
  • 変数名:キャメルケース(属性名の部分がここに来る)

Vueの親コンポーネントから子コンポーネントへ値を渡す

親コンポーネント

parent.vue
<chiled-component :test-attribute='testVariable'>
  • 子コンポーネント名:ケバブケース
  • 属性名:ケバブケース
  • 変数名:キャメルケース

子コンポーネント

child.vue
<script>
  export default {
    props: {
     testAttribute: String,
    }
  }
</script>
  • 変数名:キャメルケース(Bladeの属性名がここに来る)
9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?