Vue. js - Это плохая практика - использовать локальный метод в computed? - PullRequest
0 голосов
/ 04 августа 2020

Я использую состояние Vuex как триггер события (eventBus).

Я запускаю событие с помощью:

this.$store.dispatch('triggerRefetch');

и обрабатываю его с помощью:

computed: {
    trigger: function(){ 
        return this.$store.getters['triggerFlag'] 
    }
},
watch: function(newV, oldV){
    this.handleTrigger();
},

Здесь мне не нужно ни новое значение, ни старое значение. Итак, вместо этого можно просто использовать вычисленное для этого, например:

computed: {
    trigger: function(){ 
        this.handleTrigger();
        return this.$store.getters['triggerFlag'] 
    }
},

Будет ли это плохим способом использовать вычисленный таким образом для Vuex (шина событий)? Кроме того, есть ли способ лучше?

1 Ответ

1 голос
/ 04 августа 2020

Я вижу, что запускать дополнительные logi c внутри вычисляемого свойства - это плохая практика, свойство - это просто свойство, которое возвращает некоторые данные, это не функция или метод, запускающий кучу logi c, придерживайтесь первого подхода, который лучше всего подходит с точки зрения читаемости и расширяемости, который позволяет вашему коду следовать некоторому четкому потоку.

computed: {
    trigger: function(){ 
        return this.$store.getters['triggerFlag'] 
    }
},
watch: {
 trigger: function(){
    this.handleTrigger();
},
...