vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换
2018-02-28 19:08
731 查看
vue2.0使用嵌套路由实现页面跳转切换/公用一级菜单控制页面内容切换/routes配置children
demo需求分析:
图中菜单区域为header公用组件,点击相应的菜单选项跳转到对应的路由,在菜单下区域加载相应组件的内容。
以下两图分别为点击“我的电站”、“个人中心”的效果
demo结构介绍:
登录成功后,跳转到index页面,并默认显示index/UserStation(我的电站),index为一个组件,其他各个子菜单为一个组件,公共header为一个组件。
路由配置代码:
header组件关键代码:
基于Element-ui(只需要留意红框部分):Element-ui知识请参考Element-ui官网,handleSelect函数调用时,告知父组件props中的active已经更新。
index.vue
解释:index.vue中引用header组件,并向header组件传入active,此active在子组件中需要被修改,因此需要使用.sync实现props在header组件与index组件中共享,.sync相关知识可查询vuejs官网。
router-view用于挂载匹配到的路由组件(比如:UserStation的内容)。
观察active的变化,当active变化时,push active的值到路由中,路由匹配到实现页面切换。
注:登录成功时this.$router.push('/Index/UserStation'),所以进入index.vue时,默认显示我的电站菜单选项,路由默认为Index/UserStation。
demo需求分析:
图中菜单区域为header公用组件,点击相应的菜单选项跳转到对应的路由,在菜单下区域加载相应组件的内容。
以下两图分别为点击“我的电站”、“个人中心”的效果
demo结构介绍:
登录成功后,跳转到index页面,并默认显示index/UserStation(我的电站),index为一个组件,其他各个子菜单为一个组件,公共header为一个组件。
路由配置代码:
header组件关键代码:
基于Element-ui(只需要留意红框部分):Element-ui知识请参考Element-ui官网,handleSelect函数调用时,告知父组件props中的active已经更新。
index.vue
解释:index.vue中引用header组件,并向header组件传入active,此active在子组件中需要被修改,因此需要使用.sync实现props在header组件与index组件中共享,.sync相关知识可查询vuejs官网。
router-view用于挂载匹配到的路由组件(比如:UserStation的内容)。
观察active的变化,当active变化时,push active的值到路由中,路由匹配到实现页面切换。
注:登录成功时this.$router.push('/Index/UserStation'),所以进入index.vue时,默认显示我的电站菜单选项,路由默认为Index/UserStation。
相关文章推荐
- 详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
- vue2.0使用动态组件实现tab切换效果(vue-cli)
- vue2.0通过二级路由实现页面切换
- vue项目实践教程2:使用vux设计登录注册,并讲解vue路由,切换页面标题等内容
- 详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
- 使用jq重绘img大小+测试密码的强度+滚动时动态加载页面内容+导航菜单切换
- 使用Jquery的局部刷新功能,实现菜单内容的动态切换
- 使用ajax实现无刷新改变页面内容和地址栏URL
- Windows Phone使用sliverlight toolkit实现页面切换动画效果
- Android基础之使用Fragment控制切换多个页面
- Android基础之使用Fragment控制切换多个页面
- 使用js实现内容可互换式菜单
- 一款二级菜单和使用自定义标签实现简单权限控制
- 使用TabHost和ViewPager实现页面切换
- android 实现两个数字的乘法,页面之间的传值 以及菜单下拉列表的使用
- Android成长日记-使用PagerAdapter实现页面切换
- ViewPager的使用方法(实现左右滑动切换页面)
- 使用jQuery实现页面表格中相同内容的行或列合并
- ExpandableListView 动态加载 点击一级菜单时再加载二级菜单的内容实现
- 使用mod_ext_filter组件在Apache中实现输出内容的替换,为所有页面增加统计功能