[英]Vue.js form page loses its data when coming back from a new page
我有一个 Vue.js 页面,它基本上是一个大的 textarea。 如果用户在该页面点击“设置”并打开“设置”页面,然后回到原始页面,则textarea数据全部消失。 当然,必须有一种简单的方法不会丢失所有内容而不将其保存到数据库或其他东西,对吗?
我正在使用 Vue 路由器。
Vue Router 是否有类似模态窗口(但用于智能手机应用程序)之类的东西,可以关闭它以便保存下面的所有内容?
我会在路由路径中对表单 ID 进行编码,并设置props=true
以便将 ID 传递给组件的 prop:
// router.js
export default new VueRouter(
routes: [
{
path: "/form/:id",
name: "form",
component: () => import("@/components/MyForm.vue"),
props: true
}
]
)
// MyForm.vue
export default {
props: {
id: {
type: [Number, String],
default: 0,
required: true,
},
},
data() {
return {
text: "The text " + this.id,
};
},
}
然后使用<keep-alive>
重用缓存的 views ,并使用路由的完整路径作为router-view
的key
:
<keep-alive>
<router-view :key="$route.fullPath" />
</keep-alive>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.