私はvuexを使用してコンポーネントに私のAPIから配列をプルしようとしていますが、私はこれを試みることで迷っています。VuexストアでVueリソースを使用する。最大呼び出しスタックサイズのエラーを取得する
data() {
return {
catalog:[],
}
},
created() {
this.$http.get('https://example.net/api.json').then(data => {
this.catalog = data.body[0].threads;
})
}
参考のため、JSONは次のようになります:
[{
"threads": [{
"no: 12345,
"comment": "comment here",
"name": "user"
}, {
"no: 67890,
"comment": "another comment here",
"name": "user2"
}],
//this goes on for about 15 objects more in the array
"page": 0
}]
私はこのすべてを移動すると、APIが、私はそれがこのように設定していた、それは大丈夫だったコンポーネントから直接アクセスされていると私は実際にこの作業を行う方法について把握していません。私はvue-resourceを使用する前にvuexを使用しました。
//store.js
state: {
catalog: []
},
actions: {
getCatalog({commit}){
Vue.http.get('https://example.net/api.json').then(response => {
commit('LOAD_CATALOG', response.data.data)
});
}
},
mutations: {
LOAD_CATALOG (state) {
state.catalog.push(state.catalog)
}
},
getters: {
catalog: state => state.catalog,
}
//component.vue
created() {
this.$store.dispatch('getCatalog')
},
computed: {
catalog() {
return this.$store.getters.catalog
}
}
私はこれが間違っていることを知っており、最大スタックサイズエラーが発生しています。すべてを店内に置くと、上記の例(this.catalog = data.body[0].threads;
)に掲載されているのと同じ結果を得るにはどうすればよいですか?
説明が必要な場合は教えてください。私はまだVue 2.0を使用することでかなり新しいです。