top of page
  • 執筆者の写真T sakurako

VueでWEBアプリ(22)

前回書いたように、

一覧・詳細表示・投稿が一つのページになっている状態から、

一覧画面 と 詳細表示/投稿/編集画面 という形への修正を進めています。


今回は、詳細表示を投稿画面の方に移しまして、

一覧画面のデータテーブル行クリック

詳細・投稿画面に遷移、クリックした行のデータ表示

というように、画面遷移と同時にデータ受け渡しをするような動きに修正しました。


 


先にも書いたように、まず投稿画面に詳細表示を移動させました。

(あと、送信成功のv-alertを閉じられるようにしました。)

本当は投稿フォームと詳細表示を同じところにしたいのですけれど、まず今回はこれで。



一覧の行をクリックで投稿・詳細ページに飛び、詳細表示へデータが受け渡されます。

動きは以下の記事を参考にさせていただきました。



詳細表示ボタンを追加するのではなく、行クリックのままにしたかったので、

Vue-routerなどテンプレート部ではなく、methodsでパラメータを受け渡せる方法を選びました。


行クリック参考↓




一覧画面側のコンポーネントで、行のデータをqueryに入れています。

    clickRow (row) {
      this.$router.push({
        path: '/articledetail',
        query :{
          title: row.title,
          author: row.author,
          post_date: row.post_date,
          content: row.content
        }
      })
    },


そして、詳細表示側のコンポーネントで受け取り、表示させています。

    test() {
      this.detailTitle= this.$route.query.title
      this.detailAuthor= this.$route.query.author
      this.detailDate= this.$route.query.post_date
      this.detailContent= this.$route.query.content
    },





 

この『VueでWEBアプリ』シリーズのコードをgithubで公開しています。参考までに。

記事: Blog2_Post
bottom of page