Вот настройка:
export default Vue.extend({
name: 'Home',
computed: {
...mapState('user', ['card']),
},
created() {
this.fetchData();
},
mounted() {
this.$once('dataLoaded', () => {
if (!this.card) {
this.showWarning();
}
});
},
watch: {
'$route': 'fetchData'
},
methods: {
async fetchData() {
await Promise.all([...]);
this.$emit('dataLoaded');
},
showWarning() {
// Vue global Plugin for creating a banner
Notify.create();
}
}
});
Я подключил слушателя в жизненном цикле mounted
, но мне было интересно, должен ли я сделать это в created()
. Похоже, что в обоих случаях он работает нормально, поэтому мой вопрос, есть ли лучшие практики или я пропустил что-то важное здесь.
Спасибо!