laravel と vue を使用してフロントエンドを実装するためのベストプラクティス

train_fox

Laravel 5.4 をベースに大規模なアプリケーションを開発しています。大規模なアプリケーションに fronend を実装するためのベスト プラクティスは何だろうと思っています。すべてのスタイリングとHTMLレンダリングのためにlaravelブレードに実装し、インタラクティブ性のためにvueを使用するか、ブレードを使用してvueコンポーネントを呼び出し、すべてのものを実装するのはvueですか? いくつかの例を見てみましょう:

これは最初のアプローチです:

laravel ブレードで:

@extends('layout')
@section('content')
  <customer-search></customer-search>
  <customer-table></customer-table>
@endsection

顧客検索コンポーネントは次のようになります。

<template>
  <div>
    <form action="/customer" method="GET">
      <input type="text" name="name" @input="updateValue($event.target.value)" :value="name" />
      <submit @click="search">Search</button>
    </form>
  </div>
</template>
<script>
  export default {
    data: function () {
      return {
        name: '',
      }
    },
    methods: {
      search() {
        // Get data from server, update related data model for using in customer table, ...
      }
    }
  }
</script>

および顧客テーブル コンポーネント:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>Name</th>
          <th>Access</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="customer in customers">
          <td>{{ customer.name }}</td>
          <td><a href="#">Link</a></td>
        </tr>
      </tbody>
    </table>
  </div>
</template>
<script>
  export default {

  }
</script>

2 番目のアプローチ:ブレード:

@extends('layout')
@section('content')
  <customer-index>
    <form action="/customer" method="GET">
      <input type="text" name="name" @input="updateValue($event.target.value)" :value="name" />
      <submit @click="search">Search</button>
    </form>

    <table>
      <thead>
        <tr>
          <th>Name</th>
          <th>Access</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="customer in customers">
          <td>{{ customer.name }}</td>
          <td><a href="#">Link</a></td>
        </tr>
      </tbody>
    </table>
  </customer-index>
@endsection

および顧客インデックス コンポーネント:

<tempalte>
  <div>
    <slot></slot>
  </div>
</template>
<script>
  export default {
    data: function () {
      return {
        name: '',
      }
    },
    methods: {
      search() {
        // Get data from server, update related data model for using in customer table, ...
      },
      // Other methods, ...
    }
  }
</script>

3 番目の可能性: 3 番目の可能性は、2 番目のアプローチを使用して、コンポーネントをさらに掘り下げることです。たとえば、テーブル用のコンポーネント、フォーム用のコンポーネント、入力用のコンポーネント、ボタン用のコンポーネントなどを使用して、フロントエンドと統合されたフロントエンドに多くの時間を費やすには、どれを使用する必要がありますか?

ジョー

Vue コンポーネントは、他の場所や他のプロジェクトでも再利用できるように、常に疎結合にする必要があります。

vue コンポーネントで可能な限り最小限のマークアップを使用する必要があります。これにより、それらは移植可能になり、編集しなくても再利用できます。

明らかに、これは意見に基づく質問ですが、私の意見では、上記は少なくともベストプラクティスです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

symfonyベースのRESTAPIとVue.jsフロントエンドでXSS防止を実装する場所

分類Dev

Vue jsフロントエンドとlaravelバックエンド(apiルート)を共有サーバーにホストしますか?

分類Dev

Laravel-セッションとテスト後にアラートを表示するためのベストプラクティス

分類Dev

SSRとLaravelを使用したVueでのルーティング

分類Dev

linqとEntityframeworkを使用して高度な検索を実装するためのベストプラクティス

分類Dev

バックエンド(ノード)プロセスとこれらのプロセスの一部を使用するフロントエンド(Vue / Nuxt)を整理するための最良の方法

分類Dev

vue.jsとlaravelを使用して無限スクロールを作成するときの無限ループ

分類Dev

LaravelでVue.jsコンポーネント間でデータを渡すためのベストプラクティス

分類Dev

LaravelとVueストアフロントテンプレートを混在させることはできますか

分類Dev

Vue.jsでAxiosを使用してlaravelプロジェクトにデータをpostigするときの内部サーバーエラー500

分類Dev

Laravel Vueのブートストラップと一緒にzurbファンデーションを使用する方法は?

分類Dev

Vue.jsとLaravelでフロントエンドルートを保護する方法は?

分類Dev

VueフロントエンドとRailsバックエンドでenvvairablesを実装するにはどうすればよいですか?このタスクを完了するには、dotenvパッケージを使用する必要がありますか?

分類Dev

Laravelでフォームを編集するときに古い値を表示するためのベストプラクティスは何ですか?

分類Dev

JQueryとブートストラップマルチステップフォームを使用して、Laravelのコントローラーメソッドにデータを投稿してリクエストするにはどうすればよいですか?

分類Dev

AliExpress API「未定義のインデックス/非オブジェクトのプロパティを取得しようとしています」 - laravel 5.4フレームワークを使用してブレードを介して製品を表示する

分類Dev

LaravelとEloquentのクエリを使用してフィルタリング可能なリストを作成する

分類Dev

LaravelとEloquentのクエリを使用してフィルタリング可能なリストを作成する

分類Dev

LaravelとVueJSを使用して完全に分離されたフロントエンドとバックエンドのWebアプリを構成します

分類Dev

ファクトリを使用してデータベースをシードするときに、LaravelでPHPFakerを使用して「uniquewith」エントリを生成する

分類Dev

vue.jsコンポーネントとLaravelバックエンドを整理する正しい方法

分類Dev

LaravelコントローラーがVueプロップとして値を渡す

分類Dev

VueとLaravelを使用したファイルのアップロード

分類Dev

UIを介してデータベースを変更するときに、フロントエンドUIを更新するためのベストプラクティスは何ですか?

分類Dev

LaravelとVueでaxiosを使用してファイルと入力データをアップロードする

分類Dev

Laravel Vueアプリでvue-routerを使用すると、ログイン後にベースURLに移動すると404が表示されます

分類Dev

ブートストラップVueテーブルの最初のフィールドとしてチェックボックスを設定する方法

分類Dev

Androidクライアントがスレッドを使用してサーバーと通信するためのベストプラクティス

分類Dev

LaravelとVue.Jsの混合をテンプレート化するBlade / Mustacheの使用

Related 関連記事

  1. 1

    symfonyベースのRESTAPIとVue.jsフロントエンドでXSS防止を実装する場所

  2. 2

    Vue jsフロントエンドとlaravelバックエンド(apiルート)を共有サーバーにホストしますか?

  3. 3

    Laravel-セッションとテスト後にアラートを表示するためのベストプラクティス

  4. 4

    SSRとLaravelを使用したVueでのルーティング

  5. 5

    linqとEntityframeworkを使用して高度な検索を実装するためのベストプラクティス

  6. 6

    バックエンド(ノード)プロセスとこれらのプロセスの一部を使用するフロントエンド(Vue / Nuxt)を整理するための最良の方法

  7. 7

    vue.jsとlaravelを使用して無限スクロールを作成するときの無限ループ

  8. 8

    LaravelでVue.jsコンポーネント間でデータを渡すためのベストプラクティス

  9. 9

    LaravelとVueストアフロントテンプレートを混在させることはできますか

  10. 10

    Vue.jsでAxiosを使用してlaravelプロジェクトにデータをpostigするときの内部サーバーエラー500

  11. 11

    Laravel Vueのブートストラップと一緒にzurbファンデーションを使用する方法は?

  12. 12

    Vue.jsとLaravelでフロントエンドルートを保護する方法は?

  13. 13

    VueフロントエンドとRailsバックエンドでenvvairablesを実装するにはどうすればよいですか?このタスクを完了するには、dotenvパッケージを使用する必要がありますか?

  14. 14

    Laravelでフォームを編集するときに古い値を表示するためのベストプラクティスは何ですか?

  15. 15

    JQueryとブートストラップマルチステップフォームを使用して、Laravelのコントローラーメソッドにデータを投稿してリクエストするにはどうすればよいですか?

  16. 16

    AliExpress API「未定義のインデックス/非オブジェクトのプロパティを取得しようとしています」 - laravel 5.4フレームワークを使用してブレードを介して製品を表示する

  17. 17

    LaravelとEloquentのクエリを使用してフィルタリング可能なリストを作成する

  18. 18

    LaravelとEloquentのクエリを使用してフィルタリング可能なリストを作成する

  19. 19

    LaravelとVueJSを使用して完全に分離されたフロントエンドとバックエンドのWebアプリを構成します

  20. 20

    ファクトリを使用してデータベースをシードするときに、LaravelでPHPFakerを使用して「uniquewith」エントリを生成する

  21. 21

    vue.jsコンポーネントとLaravelバックエンドを整理する正しい方法

  22. 22

    LaravelコントローラーがVueプロップとして値を渡す

  23. 23

    VueとLaravelを使用したファイルのアップロード

  24. 24

    UIを介してデータベースを変更するときに、フロントエンドUIを更新するためのベストプラクティスは何ですか?

  25. 25

    LaravelとVueでaxiosを使用してファイルと入力データをアップロードする

  26. 26

    Laravel Vueアプリでvue-routerを使用すると、ログイン後にベースURLに移動すると404が表示されます

  27. 27

    ブートストラップVueテーブルの最初のフィールドとしてチェックボックスを設定する方法

  28. 28

    Androidクライアントがスレッドを使用してサーバーと通信するためのベストプラクティス

  29. 29

    LaravelとVue.Jsの混合をテンプレート化するBlade / Mustacheの使用

ホットタグ

アーカイブ