Ну, с технической точки зрения, мы можем передать параметр вычисляемой функции, так же, как мы можем передать параметр функции getter в vuex. Такая функция является функцией, которая возвращает функцию.
Например, в геттерах магазина:
{
itemById: function(state) {
return (id) => state.itemPool[id];
}
}
Этот геттер может быть сопоставлен с вычисленными функциями компонента:
computed: {
...mapGetters([
'ids',
'itemById'
])
}
И мы можем использовать эту вычислительную функцию в нашем шаблоне следующим образом:
<div v-for="id in ids" :key="id">{{itemById(id).description}}</div>
Мы можем применить тот же подход для создания вычисленного метода, который принимает параметр.
computed: {
...mapGetters([
'ids',
'itemById'
]),
descriptionById: function() {
return (id) => this.itemById(id).description;
}
}
И используйте его в нашем шаблоне:
<div v-for="id in ids" :key="id">{{descriptionById(id)}}</div>
Говоря это, я не говорю здесь, что это правильный способ делать вещи с Vue.
Тем не менее, я мог заметить, что когда элемент с указанным ID мутируется в хранилище, представление автоматически обновляет его содержимое новыми свойствами этого элемента (привязка, кажется, работает очень хорошо).