Значение в подпорках, используя в mapState не может работать Vue.js - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу передать значение из реквизита и использовать его в качестве пространства имен в mapState, а затем выдает ошибку: «Ошибка при инициализации приложения. Ошибка: Не удается прочитать свойство« хранилище »из неопределенного». Вот мой код:

ParentComponent: <Editor store="store-test" />

ChildComponent:

export default {
    props: ['store'],
    computed: {
        mapState(`${this.store}`, ['data'])
    }
}

Но я заменяю this.store = store-test, у меня есть данные, которые я хочу.И я не знаю, как использовать

...mapMutations({
  function() {
  }
})

то же самое

...mapState({
  data(state) {
    return state[this.store].data;
  },
})

1 Ответ

0 голосов
/ 19 декабря 2018

Поскольку mapState возвращает значение для вашего computed определения во время компиляции, вы не можете использовать props, поскольку они назначаются только во время выполнения.

Вам придется использовать

computed: {
  data () {
    return this.$store.state[this.store].data
  }
}

Если хотите, вы все равно можете использовать mapState, однако вы не можете использовать значение prop в качестве строки пространства имен

mapState({
  data1 (state) { // ? note: cannot be an arrow function
    return state[this.store].data1
  },
  data2 (state) {
    return state[this.store].data2
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...