サルでもわかるWEBプログラミング

フリーソフトのみでホームページ作成

ユーザ用ツール

サイト用ツール


19.nuxt.jsで画像一覧アプリ:index.html


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
19.nuxt.jsで画像一覧アプリ:index.html [2019/02/08] – [画面上に犬種リストを表示する] adash33319.nuxt.jsで画像一覧アプリ:index.html [2019/02/09] – [画面上に犬種リストを表示する] adash333
行 176: 行 176:
 {{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-230906.png}} {{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-230906.png}}
  
 +Chrome拡張の[[https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd/related|Vue.js devtools]] をインストールしておき、
 +  -Chromeで、Ctrl+Shift+Iでコンソール画面を開く
 +  -一番右の Vue をクリック
 +  -右側の方のVuex をクリック(かなり横長にしないと、Vueや、Vuexのボタンは見つけることが困難、、、)
 +{{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-231527.png}}
  
 +{{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-231652.png}}
  
- +==== 画面上に犬種リストを表示する ==== 
-===== pages/index.vueとlayouts/default.vueの編集 ===== +Vuexの  mapStateヘルパー使うことでストアからデータを取り出すことができるらいです。
- +
-layouts/default.vueの<container></container>中身を、pages/index.vueへ移動す。+
  
 pages/index.vue pages/index.vue
-(変更後+<code> 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-230141.png}}+<template> 
 +  <v-layout> 
 +    <v-card class="mt-4 mb-4 pa-3"> 
 +      <v-layout row wrap> 
 +        <v-flex xs4 v-for="(item,iin breed_list" :key="i"> 
 +          <v-card class="grey lighten-3 ma-2"> 
 +            <v-card-text><a class="button">{{ }}</a></v-card-text> 
 +          </v-card> 
 +        </v-flex> 
 +      </v-layout> 
 +    </v-card> 
 +  </v-layout> 
 +</template>
  
-layouts/default.vue +<script> 
-(変更後) +import dogApi from '@/api/dog' 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-230303.png}}+import {mapStatefrom 'vuex';
  
-===== 犬種リストをDog APIで取得する ===== +export default { 
-以下の3つの流れで実装します。(引用元:https://luftgarden.work/tut-nuxt-dog-part1/) +    async fetch({store}) { 
-  -Dog API用のクラスを作成 +        let json await dogApi.breeds(); 
-  -ページからAPIのエンドポイントを叩く +        store.commit('breed_list_update', json) 
-  -取得した犬種リストをストに保存+    }, 
 +    // mapState ヘルパー 
 +    computed: mapState(['breed_list']), 
 +
 +</script> 
 +</code> 
 +(変更前) 
 +{{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-232054.png}} 
 +(変更後) 
 +{{:19.nuxt.jsで画像一覧プリ:pasted:20190208-233732.png}}
  
-==== Dog API用のクラスを作成 ==== 
-  *apiフォルダを作成 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-230845.png}} 
-  *api/dog.js ファイルを作成 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-231018.png}} 
-  *[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]のapi/dog.js をコピペする 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-231555.png}} 
  
-==== 犬種リストを保存するストアを作成 ==== 
-  *store/ フォルダ内にindex.js を作成し、これまた、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]のstore/index.js をコピペします 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-232206.png}} 
  
-  *ページ側で  fetch() メソッドを定義し、ストアにデータコミット...と、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]に記載してあるのですが、個人的にはVuex、まだ全然わかりません。とりあえずpages/index.vueを写経して次に進みます。 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-232759.png}} 
  
-==== 画面上に犬種リストを表示する ==== 
-「Vuexの  mapStateヘルパーを使うことで、ストアからデータを取り出す」らしいのですが、これまたさっぱり、、、とりあえず、とにかく、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]のpages/index.vueを写経します。 
  
-pages/index.vue 
- 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190114-000728.png}} 
- 
-TypeError 
-Cannot read property 'commit' of undefined と出てしまい、先に進めず。。。 
- 
-途中 
  
 +===== 犬種リストと、それぞれの犬種の画像リストのページの構成について =====
 +引き続き、https://luftgarden.work/tut-nuxt-dog-part2/ を写経していきます。
  
 +特定の犬種をクリックすると、画像が一覧表示されるようにします。
  
  
行 234: 行 240:
  
  
 +==== 犬種リストを保存するストアを作成 ====
 +  *store/ フォルダ内にindex.js を作成し、これまた、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]のstore/index.js をコピペします
 +{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-232206.png}}
  
 +  *ページ側で  fetch() メソッドを定義し、ストアにデータコミット...と、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]に記載してあるのですが、個人的にはVuex、まだ全然わかりません。とりあえずpages/index.vueを写経して次に進みます。
 +{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-232759.png}}
  
  


19.nuxt.jsで画像一覧アプリ/index.html.txt · 最終更新: 2019/02/09 by adash333

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki