Здравствуйте. Пытаюсь сделать каркас приложения на vue. Возник такой вопрос.
есть роут - список задач
{
path: '',
name: 'tasks',
component: Tasks
}
Сам компонент Tasks
<template>
<div>
<ul v-if="!tasks.isFetching">
<li v-for="task of tasks" > {{ task.name }}</li>
</ul>
</div>
</template>
<script>
import store from '../store/index'
export default {
beforeRouteEnter (to, from, next) {
store.dispatch('Tasks')
.then(() => {
next()
})
}
}
</script>
И хранилище
export default {
namespaced: true,
state: {
tasks: {}
},
mutations: { // Изменения Стора
tasks: function (state, data) {
for(let item of data){
state.tasks[item.pk] = item
}
},
},
actions: {
tasks: (context, filter) => {
axios.get('/tasks/').then((response) => {
context.commit('tasks', response.data)
})
},
}
}
По плану, попадаем на наш список, срабатывает beforeRouteEnter компонента, вызывает экшн хранилища, оно подтягивает данные и мутацией записывает. Компонент видит обновленные данные и показывает.
Но по факту вылезла сложность, при переходе по адресу - все срабатывает, а вот при прямом вводе адреса компонент ничего не показывает, хотя данные подгружаются. В чем может быть проблема?