Vue动态地图

时间:2018-09-30 12:31:59

标签: javascript vue.js vuejs2 vuex

我有一个要用来制作动态mapGetters的道具,但mapGetters认为道具是未定义的,这可能是因为在道具之前已加载了计算对象。有人知道我如何使它动态吗?我的代码如下:

export default {
    props: ['listType'],
    components: {
        addrow: AddRow
    },
    computed: {
        ...mapGetters({
            list: `${this.listType}/list`,
            current: 'Dropdown/current'
        }) 
    },
}

2 个答案:

答案 0 :(得分:3)

[更新] 我已经找到了解决方案,这要感谢@boussadjrabrahim 我的工作代码如下:

SyntaxError: Invalid Syntax

答案 1 :(得分:0)

您还可以使用this.$store来完全访问商店。因此,list将成为

export default {
    props: ['listType'],
    computed: {
        list() {
            return this.$store.getters[`${this.listType}/list`]
        }
    }
}

使用分发方法来触发操作,就像这样

export default {
    props: ['listType'],
    methods: {
        sortList(order) {
            this.$store.dispatch(`${this.listType}/list`, order)
        }
    }
}