質問: 現在開発中のプロダクトで、ユーザーの種類が大きく分けて「個人ユーザー」と「企業ユーザー」があります。 ユーザー登録すると、個人ユーザーの権限が割り当てられます。 ログイン後に「企業成申請」という機能があり今作っている部分でもあるのですが、企業成申請画面では企業形態のセレクトボックスがあり、は大きく分けて、「株式会社」「有限会社」「個人事業主」があります。 企業形態によって入力する内容が異なります。 私はサーバーサイドエンジニアなのですが、いつものやり方だと、セレクトボックスにid指定しておいて、外部jsファイルで対象のidの要素が変更されたらajax通信でセレクトボックスの項目が現在何であるかをサーバー側で判定して、それに応じたhtmlをサーバー側で生成してhtmlを返してappendして動的に要素を生成しています。 最近vue.jsを使っている現場も増えてきているので、試しにやってみようと思ってtyrしてみたのですが正直メリットがよくわかりません。 ネット記事で、「vue メリット」で検索しても、効率よく開発したいならvueを使うべきということをよく見かけますが、どれも抽象的な内容で具体的なメリットがわかりません。 laravelを使っていて、今回vueを実際試して思ったことですが、controllerからbladeに渡った変数がvueファイル内で使えないので、例えばバリデーションエラーなどもわざわざvueのcomponentに渡さなければならないですし、$errors->hasなどのヘルパー関数も使えないのでむしろ非効率だと思ってしまいます。 バリデーションに関してはこういう記事もあるみたいですが、uniqueやexistsなどのバリデーションルールを使いたいときもajax通信走らせないといけないし、結構手間だと思いました。(vueを否定しているわけではないです。) vueを使わず、普通にajax処理を分業でするパターンを想定してみても、フロントエンジニアには、「これとこれとこれの項目が必要でname属性は~~~で実装お願いします」で分業できますし、vueを使うことで分業が効率化するという結論には至らないのです。 csrfトークンもformが必要なcomponentには毎回dataセットしなければならないし、、、 ``` ``` componentを集めてビューを作り込んでいくのがvueみたいですが、cakephpでいうところのelementと同じだと思っています。 それでもvueを使うメリットを知りたいのです。 唯一いいなぁ〜と思ったのがJqueryをラップしているらしいaxiosです。 これはvueを使うしかない!と思うような例があればvueを好きになれるかもしれません。
回答: やはり動的な画面を作るためでしょうか。 選択した月に応じて選択できる日を変える。といった処理を実現するのはVueでやりました。 ただしこれは、別にVueじゃなくてもできる(JSだけで実現可能)な話ですよね。 あと、質問者がおっしゃる通りLaravelのValidatorでチェックすりゃいいじゃん。と私も思っていましたが、インフラエンジニアから「明らかな入力ミスをわざわざサーバにといわせて不可を上げる必要ない」といわれて、クライアントのバリデーション(要はVuでチェック)を行ったことがあります。 ご参考になれば。