Как получить доступ к методам vue / vuex mapActions с похожим именем, в то время как имеет другое пространство имен? - PullRequest
1 голос
/ 20 марта 2019

Это работает просто отлично.

created() {
  this['shared/getPosts']();
  this['posts/getPosts']();

},

methods: {
  ...mapActions(['shared/getPosts', 'posts/getPosts']),
},

Но, мне было интересно, есть ли способ заставить код ниже работать так, как ожидалось, пожалуйста, см. Комментарий:

created() {
  this.getPosts(); // triggers last method
},

methods: {
  ...mapActions('shared', ['getPosts']), // how to trigger this?
  ...mapActions('posts', ['getPosts']), // this gets triggered.
},

1 Ответ

3 голосов
/ 20 марта 2019

Просто переименуй так

created() {
  // call the first method
  this.getSharedPosts();
  // or second
  this.getPosts();
},

methods: {
  ...mapActions('shared', {
    getSharedPosts: 'getPosts', // <-- call it as `this.getSharedPosts()` in component
  }),
  ...mapActions('posts', {
    getPosts: 'getPosts',   // <-- call it as `this.getPosts()`
  }),
},

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...