vue2.0通过动态组件渲染实现选项卡效果

直接上步骤:

1.在需要实现效果的页面,将要渲染的子组件导入

导入子组件

2.在template模板中写<component :is='nowTab' keep-alive></component>

这里的组件名看个人习惯,也可以写导入的组件名,如<shiftSetting :is='nowTab' keep-alive></shiftSetting>

自定义属性:is是特性动态绑定子组件    keep-alive将切换出去的组件保留在内存中

nowTab需为导入的子组件名,这个nowTab喜欢取什么名字取什么,看个人喜好

如上
这里的nowTab需要赋值为导入的子组件名,这里我默认为 shiftSetting

3.通过绑定事件更改this.nowTab的值就可以了

上面我使用的是饿了么的导航菜单,绑定的@select事件,这儿就简单了,直接把饿了么框架的index值改成子组件名,然后通过事件改this.nowTab的值就可以了


绑定事件赋值就可以了,这里的key和keyPath请参照饿了么导航菜单的参数说明

4.总结,导入子组件,通过<component :is='nowTab' keep-alive></component>指定组件动态切换渲染的位置,然后通过绑定事件修改nowTab的值就可以了

当然还可以通过<router-link></router-link>和<router-view></router-view>实现,但是如果项目比较大的话,组件拆分更利于开发。

此文章参照 https://www.jb51.net/article/122451.htm,感谢大佬,前端小菜鸡的成长之路~~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vue 2.0 渐进式框架 MVC 单向通信 > m:model 数据层 保存数据 > v:view视图层 用户界...
    web前端ling阅读 791评论 0 0
  • 前沿 置身世外只为暗中观察!!!Hello大家好,我是魔王哪吒!重学巩固你的Vuejs知识体系,如果有哪些知识点遗...
    lessonSam阅读 1,209评论 0 13
  • 1--------------------父子组件传递关系 子组件:props:{ banners:{ ...
    年少荒芜阅读 483评论 0 1
  • 基础部分 模版语法 1.computed和watch的区别 计算属性computed :支持缓存,data数据不变...
    王蕾_fd49阅读 632评论 0 0
  • Vue Vue是一个前端js框架,由尤雨溪开发,是个人项目 Vue近几年来特别的受关注,三年前的时候angular...
    hcySam阅读 304评论 0 0