这是我正在做的事情:我有一个表单集组件,它通过 ajax 获取数据以填充表单集。用户可以从表单中修改这些数据并提交。
问题:这很好用。但是,我注意到如果我导航到另一个页面然后点击浏览器的“返回一页”按钮,表单就在那里(模板中的 DOM)但为空。v-model 输入字段中不再有数据绑定...
大多数关于这种行为的帖子都连接到我不使用的 vue-router。
我认为它可能必须处理生命周期钩子......实际上,在我的组件上,我在“挂载”时获取数据。但是,如果是这样,哪个生命周期?
我也尝试过“保持活力”但没有成功。
我在我的组件上放了一些详细的日志,以尝试在浏览器返回并且没有打印出来时捕获生命周期钩子......
beforeCreate: function() {
console.log('---- BEFORE CREATE ----> ')
},
created: function() {
console.log('---- CREATED ----> ')
this.getModelObjects();
},
beforeMount: function() {
console.log('---- BEFORE MOUNT ----> ')
},
mounted: function() {
console.log('---- MOUNTED ---->')
this.getModelObjects();
},
beforeUpdate: function() {
console.log('---- BEFORE update ----> ')
},
updated: function() {
console.log('---- UPDATED ----> ')
},
beforeDestroy: function() {
console.log('---- BEFORE DESTROY ----> ')
},
destroyed: function() {
console.log('---- DESTROYED ----> ')
},
任何的想法?