可以将form表单数据watch当有变动时写入localstorage中,刷新的时候首页从localstorage中读取。完整vue代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="app">
<div>
<form class="cc_form">
<span>
<label>您的姓名:</label>
<input class="cc_inp" type="text" v-model="mess.username" />
</span>
<span>
<label>发送邮件:</label>
<input class="cc_inp" type="email" v-model="mess.mail" />
</span>
<span>
<label>联系方式:</label>
<input class="cc_inp" type="phone" v-model="mess.tel" />
</span>
</form>
<button class="cc_btn" >发送留言</button>
</div>
</div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue.2.2.min.js"></script>
<script>
new Vue({
el: '#app',
data: function() {
return {
mess: {
username: '',
mail: '',
tel: '',
},
}
},
watch: {
mess: {
handler: function(newval, oldval) {
console.log(newval.username);
this.stash();
},
deep: true
},
},
mounted(){
let userinfo=localStorage.getItem("userInfo");
if(userinfo!=null){
console.log(userinfo);
this.mess=JSON.parse(userinfo);
}
},
methods: {
stash() {
let str=JSON.stringify(this.mess);
console.log(str);
localStorage.setItem('userInfo', str);
},
},
})
</script>
</body>
</html>
网友回复