10.vue.jsとfirebaseでランキングつき連打ゲーム:index.html
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| 10.vue.jsとfirebaseでランキングつき連打ゲーム:index.html [2018/12/28] – [Vue.jsではgetElemetByIdの代わりにデータバインディング{{msg}}を用いる] adash333 | 10.vue.jsとfirebaseでランキングつき連打ゲーム:index.html [2018/12/31] (現在) – [0.用意するもの(開発環境)] adash333 | ||
|---|---|---|---|
| 行 39: | 行 39: | ||
| < | < | ||
| CodeSandbox | CodeSandbox | ||
| - | Firebase | + | Firebase |
| Vue 2.5.2 | Vue 2.5.2 | ||
| Vuetify | Vuetify | ||
| 行 320: | 行 320: | ||
| 20180529 | 20180529 | ||
| VuetifyのData tableを指定列の降順で初期表示する | VuetifyのData tableを指定列の降順で初期表示する | ||
| + | |||
| + | https:// | ||
| + | |||
| + | 公式ドキュメント | ||
| + | https:// | ||
| + | |||
| + | ===== javascriptの配列とオブジェクト ===== | ||
| + | |||
| + | 配列について | ||
| + | |||
| + | http:// | ||
| + | JavaScriptの配列オブジェクトの使い方 | ||
| + | 20180730 | ||
| + | |||
| + | http:// | ||
| + | JavaScriptの配列要素の値を追加/ | ||
| + | 20180817 | ||
| + | |||
| + | 連想配列(オブジェクト)について | ||
| + | |||
| + | http:// | ||
| + | JavaScriptの連想配列を使ってみよう! | ||
| + | 20180820 | ||
| + | |||
| + | 今回のコードで、一番難しいところ。 | ||
| + | ここは、https:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | < | ||
| + | |||
| + | | ||
| + | firebase | ||
| + | .database() | ||
| + | .ref(" | ||
| + | .on(" | ||
| + | // eslint-disable-line | ||
| + | if (snapshot) { | ||
| + | const rootList = snapshot.val(); | ||
| + | let list = []; | ||
| + | Object.keys(rootList).forEach((val, | ||
| + | rootList[val].id = val; | ||
| + | list.push(rootList[val]); | ||
| + | }); | ||
| + | this.list = list; | ||
| + | // | ||
| + | this.list.sort(function(a, | ||
| + | return a.score > b.score ? -1 : 1; | ||
| + | }); | ||
| + | } | ||
| + | }); | ||
| + | }, | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | 以下のコードでもよい? | ||
| + | https:// | ||
| + | |||
| + | < | ||
| + | < | ||
| + | <ul v-for=" | ||
| + | < | ||
| + | <button type=" | ||
| + | </ul> | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | created: function() { | ||
| + | this.database = firebase.database(); | ||
| + | this.uid = firebase.auth().currentUser.uid; | ||
| + | this.todosRef = this.database.ref(" | ||
| + | |||
| + | var _this = this; | ||
| + | // データに変更があると実行されるfunction | ||
| + | this.todosRef.on(" | ||
| + | this.todos = snapshot.val(); | ||
| + | }); | ||
| + | }, | ||
| + | | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== FirebaseのRTDBのobjectをarrayに変換する ==== | ||
| + | |||
| + | Firebaseドキュメント | ||
| + | https:// | ||
| + | |||
| + | < | ||
| + | // Import Admin SDK | ||
| + | var admin = require(" | ||
| + | |||
| + | // Get a database reference to our posts | ||
| + | var db = admin.database(); | ||
| + | var ref = db.ref(" | ||
| + | |||
| + | // Attach an asynchronous callback to read the data at our posts reference | ||
| + | ref.on(" | ||
| + | console.log(snapshot.val()); | ||
| + | }, function (errorObject) { | ||
| + | console.log(" | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | スナップショットの val() / getValue() を呼び出すと、データの言語固有のオブジェクト表現が返されます。 | ||
| + | |||
| + | とのことです、、、console.log(snapshot.val())の中身をコンソール画面で確認するしかなさそうです。 | ||
| + | |||
| + | |||
| + | < | ||
| + | const rootList = snapshot.val(); | ||
| + | let list = []; | ||
| + | Object.keys(rootList).forEach((val, | ||
| + | rootList[val].id = val; | ||
| + | list.push(rootList[val]); | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | rootListが、firebaseから受け取ったobject | ||
| + | |||
| + | これを、listという配列arrayに変換する。 | ||
| + | |||
| + | <wrap hi> | ||
| + | (間違っていたらすみません、、、) | ||
| + | |||
| + | https:// | ||
| + | Object.keys()メソッドについて | ||
| + | |||
| + | Object.keys(object1)で、連想配列object1のキーkeyの配列arrayを得ます。 | ||
| + | |||
| + | < | ||
| + | const object1 = { | ||
| + | a: ' | ||
| + | b: 42, | ||
| + | c: false | ||
| + | }; | ||
| + | |||
| + | console.log(Object.keys(object1)); | ||
| + | // expected output: Array [" | ||
| + | </ | ||
| + | |||
| + | ==== forEach文 ==== | ||
| + | |||
| + | |||
| + | https:// | ||
| + | 【JavaScript入門】forEach文の使い方と配列の繰り返し処理まとめ! | ||
| + | 2016年 by マサト | ||
| + | |||
| + | ==== forEach文のコールバック関数 ==== | ||
| + | |||
| + | < | ||
| + | array.forEach( function( value, index, array ) { | ||
| + | |||
| + | // 繰り返し処理を書く | ||
| + | |||
| + | }); | ||
| + | </ | ||
| + | |||
| + | value:配列データの値 | ||
| + | index:配列のインデックス番号 | ||
| + | array:現在処理している配列 | ||
| + | |||
| + | https:// | ||
| + | @nantekkotai | ||
| + | 2014年02月21日に更新 | ||
| + | JSのObjectをforEachで処理する方法 | ||
| + | |||
| + | https:// | ||
| + | 2016-06-21 | ||
| + | Javascript 連想配列(オブジェクト)をforEachでループさせたい。 | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | https:// | ||
| + | Convert A Firebase Database Snapshot/ | ||
| + | Last updated: March 8, 2018 | ||
| + | |||
| + | |||
| + | |||
| + | |||
| - | https:// | ||
10.vue.jsとfirebaseでランキングつき連打ゲーム/index.html.1545995796.txt.gz · 最終更新: 2018/12/28 by adash333
