現在既存のアプリがあり、機能追加を任されております。
手探りでやり始めるより大枠を掴んでから取り掛かった方が後々楽になると考えており、アドバイスをいただければ有難いです。
追加機能は「タグ」機能です。
もともと各ユーザーが持つ住所や名前が入ったプロフィールカードに、タグを3つ、4つ加えた新しいプロフィールカードを作成することになりました。
現状
フロント) 【Vue.js】component化されたprofile.vueがajaxでuser_idをサーバーサイドへ投げ、データを取得、バインド
サーバーサイド) 【Laravel】 ProfileController@showがidを受け取り、紐付けされたユーザーの名前、住所などを検索、VueJSへ送信
悩み
手順を含め、ずばりどのような仕組みで追加設計を行うか
具体的には、そもそも送信していたプロフィール関連のデータ「+α」のTagデータをどのようにフロントに追加するか
草案
- TagsServiceというサービスクラスで関連データを整理取得し、ProfileControllerに注入する方法
- 新たにTagsControllerをつくり、VueJsでAjaxを2回行う方法
※2. に関しては下記のような方法になります。
javascript
1// Profile.vue 2 3<template> 4 5//元々のデータ 6.... 7 8//新しいTagデータ 9.... 10 11</template> 12 13<script> 14 data: function() { 15 return { 16 ProfileData: [], 17 TagsData: [] 18 } 19 }, 20 created() { 21 get(`/api/profile/${this.$route.params.id}`) 22 .then((res) => { 23 this.ProfileData = res.data.profile 24 // ProfileDataにデータがセットされたら、次にTagを取得しデータセット 25 get(`/api/tag/${this.$route.params.id}`) 26 .then((res) =>{ 27 this.TagsData = res.data.tag 28 }) 29 }) 30 }, 31</script> 32
草案として上記2つを考えておりますが、ほかに良い方法がありますでしょうか。
初心者のため、これくらいしか思いつきませんでした。。。
またこの2つでやりくり出来そうであれば、その旨をお知らせいただきたい事に加え、方法1 or 2(フロントからリクエストを送る(加えてTagControllerを用意する)のか、サーバーサイドでサービスクラスを一つ設けるのがいいのか)どちらがベターなのかをお知らせいただければ幸いです。
長文になりますが、何卒よろしくお願い申し上げます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/06 02:53