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

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

ユーザ用ツール

サイト用ツール


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


差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
19.nuxt.jsで画像一覧アプリ:index.html [2019/02/08] – [犬種リストを保存するストアを作成] adash33319.nuxt.jsで画像一覧アプリ:index.html [2019/02/09] (現在) – [犬種リストを保存するストアを作成] adash333
行 162: 行 162:
  
 pages/index.vue pages/index.vue
 +<code>
 <script> <script>
 import dogApi from '@/api/dog' import dogApi from '@/api/dog'
行 172: 行 173:
 } }
 </script> </script>
 +</code>
 {{: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 {mapState} from 'vuex';
- +
-===== 犬種リストをDog APIで取得する ===== +
-以下の3つの流れで実装します。(引用元:https://luftgarden.work/tut-nuxt-dog-part1/) +
-  -Dog API用のクラスを作成 +
-  -ページからAPIのエンドポイントを叩く +
-  -取得した犬種リストをストアに保存+
  
-==== Dog API用のクラスを作成 ==== +export default { 
-  *apiフォルダを作成 +    async fetch({store}) { 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-230845.png}+        let json = await dogApi.breeds(); 
-  *api/dog.js ファイを作成 +        store.commit('breed_list_update', json) 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-231018.png}} +    }, 
-  *[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]のapi/dog.js をコピペする +    // mapState ヘパー 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-231555.png}+    computedmapState(['breed_list']), 
- +
-==== 犬種リストを保存するストアを作成 ==== +</script> 
-  *store/ フォルダ内にindex.js を作成し、これまた、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]のstore/index.js をコピペします +</code> 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-232206.png}} +(変更前) 
- +{{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-232054.png}} 
-  *ページ側で  fetch() メソッドを定義し、ストアにデータコミット...と、[[https://luftgarden.work/tut-nuxt-dog-part1/|こちらのサイト]]に記載してあるのですが、個人的にはVuex、まだ全然わかりません。とりあえずpages/index.vueを写経して次に進みます。 +(変更後) 
-{{:14.nuxt.jsで画像一覧アプリ:pasted:20190113-232759.png}} +{{:19.nuxt.jsで画像一覧アプリ:pasted:20190208-233732.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/ を写経していきます。
  
 +特定の犬種をクリックすると、画像が一覧表示されるようにします。
  
  


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki