vue新增功能的页面 跳转另一页面 不清空新增功能的页面 输入框里的值
时间: 2024-03-19 10:46:22 浏览: 65
Vue路由切换页面不更新问题解决方案
5星 · 资源好评率100%
您可以使用Vue Router的`<router-view>`组件来实现页面跳转,并且不清空新增功能页面输入框里的值。具体实现方式如下:
1. 在路由中定义两个路由:一个是新增功能页面的路由,一个是跳转后的页面路由。
2. 在新增功能页面的组件中,使用Vue的`<keep-alive>`组件来缓存页面状态。这样,在页面跳转后,页面状态不会被销毁,输入框里的值也不会被清空。
3. 在跳转后的页面组件中,可以通过Vue的`$route.params`来获取路由参数,从而获取到新增功能页面的输入框里的值。
下面是一个简单的示例代码:
路由定义:
```
const router = new VueRouter({
routes: [
{ path: '/new', component: NewFeature },
{ path: '/detail/:id', component: FeatureDetail }
]
})
```
新增功能页面组件:
```
<template>
<div>
<input v-model="name" type="text" />
<input v-model="description" type="textarea" />
<button @click="save">保存</button>
</div>
</template>
<script>
export default {
data() {
return {
name: '',
description: ''
}
},
methods: {
save() {
// 保存功能
// ...
// 跳转到详情页
this.$router.push('/detail/' + id)
}
},
activated() {
// 在页面缓存激活时,清空输入框里的值
this.name = ''
this.description = ''
}
}
</script>
```
跳转后的页面组件:
```
<template>
<div>
<h1>{{ feature.name }}</h1>
<p>{{ feature.description }}</p>
</div>
</template>
<script>
export default {
computed: {
feature() {
// 通过路由参数获取新增功能页面的输入框里的值
const id = this.$route.params.id
const name = // 从数据库中获取功能名称
const description = // 从数据库中获取功能描述
return { name, description }
}
}
}
</script>
```
阅读全文