===== 07.Vue.jsでクイズアプリ ===== クイズアプリを作ってみたいと思います。 前回に続き、Javascriptのフレームワーク(便利なものがつまった一式)であるVue.jsというものを、[[https://codesandbox.io/|CodeSandbox]]上で、使用していきます。 ===== 方針をたてる ===== 今回作成するチャットアプリは、 -3択クイズ -文字のみ -3問 -最終ページで正解数を表示 となります。 -クイズ結果データは保存せずに、リロードで破棄する ものとします。ランキング機能つきクイズアプリについては、次回以降、記載したいと思います。 今回は、[[https://blog.capilano-fw.com/?p=2499|こちらのサイト]]のソースコードを利用させていただこうと思います。 ソースコード https://codesandbox.io/s/68rnrr893 これから作るもの ==== 0.用意するもの(開発環境) ==== パソコン\\ Windowsパソコンでも、Macでも、かまいません。 Chrome(くろーむ、WEBブラウザの一つ)\\ オンラインエディタであるCodeSandboxを利用するために、[[https://www.google.co.jp/chrome/|Chrome]]というWEBブラウザをインストールして、そのソフトでWEBページをご覧になってください。[[https://www.google.co.jp/chrome/|こちらのページ]]からインストールできます。 また、GitHubアカウントを作成(無料)していると、CodeSandboxで作成したアプリを保存できます。 ==== 1.CodeSandboxでVue.jsアプリを作成 ==== -https://codesandbox.io/へ行き、画面右上の、『Create Sandbox』をクリック {{:07.vue.jsでクイズアプリ:pasted:20181213-083656.png}} -Vue をクリック {{:07.vue.jsでクイズアプリ:pasted:20181213-083907.png}} すると、以下のような画面になり、ログイン無しで、Vue.jsアプリをの開発環境が整います。 {{:07.vue.jsでクイズアプリ:pasted:20181213-084052.png}} 一番左側には、ファイル名が並びます。さらに下に行くと、「Add Dependency」という青いボタンが出てきて、「npmパッケージ」というものを追加することができます。 {{:07.vue.jsでクイズアプリ:pasted:20181213-085122.png}} {{:07.vue.jsでクイズアプリ:pasted:20181213-085202.png}} 真ん中は、ファイルリストで選択されているファイルの中身が表示されます。こちらのコードを編集していきます。 {{:07.vue.jsでクイズアプリ:pasted:20181213-085456.png}} 一番右側は、プレビュー画面です。真ん中のファイルを選択すると、プレビュー画面が自動で更新されます。Ctrl+Sで保存もできます。 {{:07.vue.jsでクイズアプリ:pasted:20181213-085833.png}} なお、あらかじめGitHubアカウントを作成しておき、画面右上の、「Sign in with GitHub」をクリックしてログインすると、Ctrl+Sで作成したアプリを保存(無料)することもできます。 ==== 2. index.htmlの編集 ==== 画面左側のリストで、index.htmlを選択すると、以下のようになります。 {{:07.vue.jsでクイズアプリ:pasted:20181213-090931.png}} こちらを、以下のコードに書き換えて、CSSフレームワークBulmaが利用できるようにします。(を含んだ3行を追加します。) (変更後) {{:07.vue.jsでクイズアプリ:pasted:20181213-091113.png}} ==== 3. src/App.vueの編集 ==== 次に、画面左側のファイルリストで、srcをクリックして、ドロップダウンで出てくる、App.vueを選択すると、以下のような画面になります。 {{:07.vue.jsでクイズアプリ:pasted:20181213-091253.png}} こちらを、以下のコードに書き換えます。 (変更後) {{:07.vue.jsでクイズアプリ:pasted:20181213-093451.png}} 参考:https://blog.capilano-fw.com/?p=2499 参考2:data property in component must be a function https://stackoverflow.com/questions/42396867/how-to-get-data-to-work-when-used-within-a-component-and-axios?rq=1 参考3:Elements in iteration expect to have 'v-bind:key' directives vue/require-v-for-key https://tech.moiraibusiness.com/?p=153 https://www.tomcky.net/entry/2018/02/27/000853 作成中 ===== 少し変更したバージョン ===== https://codesandbox.io/s/oo199w7km5 ===== Vue.jsでクイズアプリのリンク ===== https://blog.capilano-fw.com/?p=2499 2018年11月21日 投稿者: SUKOHI 初心者向き!VueJS で3択クイズゲームをつくってみよう https://www.raymondcamden.com/2018/01/22/building-a-quiz-with-vuejs https://codeburst.io/create-a-quiz-with-vue-js-ed1e8e0e8294 https://github.com/TakahiRoyte/quiz-vue