Я думаю, что правильный способ сделать это - иметь свойство status
в вашем store
.
Ваш объект статуса будет состоять из error, success, loading
.
Так что, если ваше исключение выдает действие, вы можете обработать его следующим образом:
catch (error) {
commit("error", `Some Message`);
}
Ваша мутация ошибки будет выглядеть так:
error(state, payload) {
state.status.success = false;
state.status.loading = false;
state.status.error = payload || false;
}
Ваш шаблон будет просто слушатьна store.state.status
<div v-if="store.state.status.error">{{store.state.status.error}}</div>
Я могу ошибаться, но по моему личному мнению я считаю, что неправильно использовать действия, чтобы вернуть вещи.Вы пользуетесь магазином, поэтому можете использовать его как можно лучше.
Другими дополнительными преимуществами является то, что вы можете указать свой файл .vue, если загружается api или когда что-то происходит успешно.