Firebaseを使ってVue.jsに基づいて小さなWebアプリケーションを開発し、データを保存して同期します。私は保存items
(例えば属性タイトルとサブタイトル有する)items
のキーの配列(Firebaseから生成されたもの)が格納されている属性リストアイテム、ととlists
。構造は次のようになります。Vue.js:実際のFirebaseオブジェクトにキーのリストをマッピングするには?
今問題:私はリストを表示し、リスト項目属性からアイテムを表示したいと私はこのようにそれをやっている:
Compontent :
var ShowList = Vue.extend({
template: '#show-list',
firebase: {
// get items from firebase
items: itemsRef
},
data: function() {
// get list from firebase and bind it to this.list
this.$bindAsObject('list', listsRef.child(this.$route.params.list_id));
return {
list: this.list
};
}
});
テンプレート:
<!-- show a list -->
<template id="show-list">
<ul v-if="list.items != ''">
<li v-for="key in list.items">
<template v-for="item in items">
<span v-if="item['.key'] == key">
{{ item.title }}
</span>
</template>
</li>
</ul>
<div v-else>No items.</div>
</template>
ご覧のとおり、すべてのエントリの完全なアイテムリストを反復する2回の繰り返しを使用する必要があります。list.items
。
私の質問:実際のオブジェクトをオブジェクトキーのリストにマップする効率的な方法はありますか?膨大な数の商品レコードでは、私のアプローチは非常に遅くなります。たぶん、私は単純な解決策を見るにはあまりにも盲目でしょうか?
ありがとうございました!
[vuefireソース](https: /github.com/vuejs/vuefire/blob/master/src/vuefire.js)、私はそれがこのようなデータを結合するためのサポートを構築しているとは思わない。 –
@FrankvanPuffelen:はいそうです。とにかくありがとう! – andreas