Upgrade to Pro — share decks privately, control downloads, hide ads and more …

既存システムのフロントエンド・バックエンド分離 / meetup0706-seki

既存システムのフロントエンド・バックエンド分離 / meetup0706-seki

Rakus_Dev

July 11, 2022
Tweet

More Decks by Rakus_Dev

Other Decks in Technology

Transcript

  1. #RAKUSMeetup データの受け取り <script> const parameter = { key1: $value1, key2:

    $value2, key3: $value3 }; </script> Blade データはオブジェクト形式で作 成。 将来的にAPI化した際にコン ポーネント内のロジックを変更 しないで済むため。
  2. #RAKUSMeetup @includeしているbladeを コンポーネント化 @include('frame', [ 'title' => 'テキスト', 'description' =>

    'これはテキストです。', ]) // frame.blade.php <div> <h1>{{ $title }}</h1> <p>{{ $description }}</p> @yield(‘content’) </div> 実施前 includeしているファイル内 でパーツ化を行なっていてい る。
  3. #RAKUSMeetup <template> <div> <h1>{{ title }}</h1> <p>{{ description }}</p> <vue-content

    /> </div> </template> <script> export default { name: "VueFrame", components: { VueContent }, props: ['title', 'description'] }; </script> @includeしているbladeを コンポーネント化 実施後 includeファイル内のパーツ をコンポーネント化。
  4. #RAKUSMeetup x-templateしているVueコードを コンポーネント化 <script type="text/x-template" id="template"> <h1>@{{ title }}</h1> </script>

    <script type="text/javascript"> Vue.component('title-text', { template: '#template', props: ['title'] } }); </script> 実施前 blade内でVueコンポーネ ントコードが記述されてい る。
  5. #RAKUSMeetup <template> <h1>{{ title }}</h1> </template> <script> export default {

    name: "TitleText", props: ['title'] }; </script> x-templateしているVueコードを コンポーネント化 実施後 SFC(単一ファイルコンポー ネント化しました。