描述:
用路由方式实现单页面加载多页面,并且切换页面后状态还是保存的,类似于单页面实现标签页,切换标签页实现内容显示隐藏。
正常情况是(1)把其它页面作为组件形式先引入,然后动态切换组件标签;亦或者(2)直接路由跳转到目标页面;
(1)的情况需要预先引入所有组件。
(2)的情况路由跳转了,想保存其它的页面需要写状态保存。
import codeDictManagePage from "xxxxx"
// 路由配置
routes: [
{ // ------- 配置1 -----------
path: '',
components: {
default:index,
},
children:[
{
path:'',
components:{
codeDictManage:codeDictManagePage // codeDictManage为name
}
}
]
},
{// ------- 配置2 -----------
path: '/',
components: {
default:Index,
codeDictManage:codeDictManage
}
}
]
循环生成 router-view 标签,根据name不同,引入不同的路由页。例如:pageUrl = "codeDictManage",则会在router-view标签内引入codeDictManagePage页面
<!-- 循环生成 router-view 标签 -->
<router-view> <!-- 正常这里是默认default,即index页面 -->
<router-view :name="pageUrl"></router-view><!-- 这里根据name名引入不同的页面 -->
</router-view>
注意事项:
1.地址栏如果是 “localhost:8080/”,则会使用 配置2 的路由,那么“配置1”的路由配置就不生效了。
2.如果使用“配置2”,并且“default”与“codeDictManage”的 <router-view> 标签是嵌套关系的写法,则不能引入显示“codeDictManage”路由。只能平级插入<router-view>标签。
--------------------分割线------------------------
init by xxy 2018-08-22
网友评论