Vuex. How to render data from store using v-for(Vuex.如何使用 v-for 从存储中渲染数据)
问题描述
我有几个组件的应用程序.我使用 Vuex 来存储数据,所以我可以在不同的组件中使用它.现在我需要使用 v-for 渲染一些 div.我这样做:
I have app with couple components. I use Vuex to store data so I could use it in different components. Now I need to render some divs using v-for. I do as follows:
VueX/Modules/shows.js
VueX/Modules/shows.js
const state = {
shows: [
{
name: 'Hard Luck',
venue: 'The Venue',
time: '6:00 pm'
},
{
name: 'Hard Luck',
venue: 'The Venue',
time: '6:00 pm'
}
]
}
export default {
state
}
我需要使用数据的组件:
Component where I need to use data:
<template>
<div class="dashboard__details dashboard__details--shows"
v-for="show in shows">
<h3 class="dashboard__name">
{{show.name}} @ {{show.venue}}
</h3>
<span class="dashboard__time">{{show.time}}</span>
<div class="dashboard__btnBlock">
<button">Details</button>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
import ReportIssue from './ReportIssue'
import InviteFriend from './InviteFriend'
export default {
name: 'dashboard',
components: { ReportIssue, InviteFriend },
computed: mapState({
shows: state => {
return state.shows
}
})
}
</script>
如果我在组件的数据中有数据,它可以工作,但如果我将数据存储在 Vuex 中,我将无法使其工作.
It works if I have data in the component's data but I can't make it work if I store data in Vuex.
推荐答案
如果您使用的是模块,那么您需要在商店中配置它:
if you are using a module then you need to of configured that within your store:
# your Vuex store
import shows from './VueX/Modules/shows.js'
export default new Vuex.Store({
modules: {
shows,
},
...
然后,当您在组件中引用它时,您调用的是模块而不是根状态:
Then when you reference it within a component you call the module not the root state:
export default {
name: 'dashboard',
components: { ReportIssue, InviteFriend },
computed: mapState({
shows: ({ shows }) => shows.shows
})
}
你可能想重命名模块以避免 shows.shows
但你应该明白
You probably want to rename the module so to avoid shows.shows
but you should get the idea
这篇关于Vuex.如何使用 v-for 从存储中渲染数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Vuex.如何使用 v-for 从存储中渲染数据
基础教程推荐
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 响应更改 div 大小保持纵横比 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01