我有一个分为 5 个组件的表单,用户可以通过步进器浏览它们(我的项目使用 vue-material)。我为此使用 vue-router。但是,我在这里遇到了一个严重的问题:当组件返回到它们已经填充的路线时,它们会丢失存储中的所有信息(我正在使用 vuex)。所以说清楚:如果用户填写表单的第一步然后进入第二步,当他想回到第一步时,数据不再可用并且表单完全为空(并且 vuex 中的状态是也重置)。我究竟做错了什么?
import Vue from 'vue'
import Router from 'vue-router'
import Projet from '@/components/Fiches/Projet/Projet'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Projet
},
//other routes here
]
})
这是html代码
<template>
<div class="project-steppers">
<md-steppers md-dynamic-height md-alternative>
<md-step id="first" to="/Projet" md-label="Projet" />
// other steps here
</md-steppers>
</div>
</template>
我使用的输入之一的示例:
<md-field>
<label for="project-name">Nom du projet</label>
<md-input id="project-name"
v-model="project.projectName"
name="project-name"
@change="updateProjectName"/>
</md-field>
[...]
methods: {
updateProjectName () {
this.$store.commit(projectStore.MUTATE_PROJECTNAME, this.project.projectName)
}
更多信息:当我填充不同的输入时,我看到存储已使用新值进行了更新,因此突变正在起作用。