vue.js - 在特定索引处从 Vuex 获取对象
问题描述
我从 Vuex 得到一个数组,我想要一个位于 2 个位置的对象。
HTML
<p class="">
{{ MainImg[2].para}}
</p>
Vue
export default {
name: "App",
components: { },
data() {
return {
imageQuery: this.$route.params.image,
};
},
computed: {
...mapGetters("design", {
MainImg: ["singleDesigns"]
})
},
created() {
this.fetchDesigns();
},
mounted() {
console.log(this.MainImg);
},
methods: {
fetchDesigns() {
this.$store.dispatch("design/getSingleDesign", this.imageQuery);
}
}
};
但它显示了一个未定义的错误。当我像这样在 Vue 数据中添加 MainImg 数组时。
data() {
return {
imageQuery: this.$route.params.image,
MainImg:[{para:"1"},{para:"2"},{para:"3"},{para:"4"}]
};
有用。PS-商店代码-
export const state = () => ({
designs: [],
})
export const getters = {
singleDesigns(state) {
return state.designs;
}
}
我没有添加 Action 和 Mutation,因为它可以与其他代码一起正常工作。
解决方案
看起来数组在第一次渲染时是空的,所以你应该添加一个条件来渲染它:
<p class="" v-if="MainImg && MainImg.length >= 2">
{{ MainImg[2].para}}
</p>
推荐阅读
- c# - 为什么我的操作比当前过滤的记录影响更多?
- python - 如何从 Django 数据库中追加查询的对象?
- sql - 仅从字符串 sql 的开头获取数值
- java - org.springframework.web.HttpRequestMethodNotSupportedException:不支持请求方法'GET']
- python - 使用python将文件夹附加到内存中的gzip
- javascript - eslint错误一元运算符'++'使用了no-plusplus
- python - 参数估计和最小二乘法最小化 - Python 和 Gekko
- regex - 从表 Greenplum 中解析数据
- python - Tkinter:返回 self.func(*args) 异常
- gcc - Autofdo 是否支持 -fprofile-reorder-functions?