ホームページ  >  に質問  >  本文

javascript - vue2、vuex、データ層とコントローラー層に関するいくつかの疑問

次のような質問なのですが、教えてください。

最初に私の個人的な理解を話させてください

  1. モデル レイヤの変更はビュー レイヤに反映され、ビュー レイヤの変更はモデルにも反映されます。 .vue ファイルでは、モデル レイヤーはデータ オブジェクト内のデータです (ここにストア ウェアハウスがないと仮定します) 。vue では、ビューはテンプレート内のコンテンツであり、モデルはテンプレートに存在するデータです。データ オブジェクト、およびメソッドに類似したメソッドは、コントローラー層に分類する必要があります。

  2. mvvm モデルが登場する前は、ほとんどの人が mvc モデルに従ってコードを記述し、コードがより明確になるようにデータ、ビュー、ビジネス ロジックを分離して記述していました。

  3. vuex は、主に vue の複数のコンポーネントが特定の状態を共有する場合や、いくつかの兄弟コンポーネントが共有する場合の通信の不都合を解決するためのウェアハウスです。 vuex があるからといって、すべてのデータを vuex に保存する必要があるというわけではありません。

私の問題について教えてください リーリー リーリー リーリー

では、ビュー、データ、ビジネス ロジックを分離するという本来の目的から出発して、このようにコードを構造化するのは合理的でしょうか?実はこのリストには前ページと次ページの機能もあり、どのページのデータがリクエストされているか、何個のデータがリクエストされているかをサーバーに伝えるリクエストパラメータを構築する必要があります。機能的には難しくありません。しかし、私の同僚は、前のページや次のページなどの機能はデータ層に属し(本質的にはデータが変更されたため)、これらのものはストアに配置する必要があると言いました。しかし、私の理解では、まず第一に、私のリストはこのコンポーネントに対してプライベートであり、他のコンポーネントと状態を共有する必要はありません。したがって、リクエストされたデータをディスパッチを通じてページに配布するだけであり、前のページまたは次のページをクリックしたときに currentPage を計算する必要があります。これは、モデル層ではなく、ビジネス ロジック (コントローラー層) に属する必要があります (ただし、最終的な変更はデータのままですが、データがどのように変更されるべきかを判断するにはロジックを使用する必要があります)。

このビジネス状況でコードをより合理的に構造化し、ビュー、データ、ビジネス ロジックを分離するという本来の意図に沿ってコードをよりエレガントにする方法を教えてください。 (このプロジェクトは小さなプロジェクトではないため、vuex が導入されました。このコードはほんの一部です。ストアにはさまざまなモジュールが多数あります)。皆様、ご理解とご意見をお聞かせください

天蓬老师天蓬老师2665日前757

全員に返信(1)返信します

  • 阿神

    阿神2017-07-03 11:43:41

    プライベートコンポーネントと言っているのに、なぜわざわざ内部で計算して一元管理する必要があるのでしょうか?

    データのリクエストに使用する API はカプセル化されており、currentPage を直接渡すだけです

    返事
    0
  • キャンセル返事