100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue怎么封装组件? vue tab切换组件封装办法(code)

vue怎么封装组件? vue tab切换组件封装办法(code)

时间:2019-04-10 20:30:20

相关推荐

vue怎么封装组件? vue tab切换组件封装办法(code)

web前端|js教程

封装组件

web前端-js教程

Vue怎么封装组件?Vue封装组件的具体实现是怎样的?在这里我就给大家分享一下vue中tab切换组件如何封装,下面我们就来看看具体的代码实现。

淘客商品库源码,ubuntu终端输入无效,bes和tomcat的区别,qt蜘蛛爬虫,php爬虫封装类,巴音郭楞seo网络营销咨询lzw

需求

ios 电子书源码,ubuntu软件如何上网,tomcat该如何设置路径,抢红包爬虫,php和java薪资对比,使seolzw

简易版

tab对应的选项卡只是普通文本,多用于展示性组件。

个人博客源码,查看ubuntu无法ssh,爬虫抓网站视频,毕业设计可以做php小游戏吗,seo专业问题lzw

复杂版

tab对应的选项卡包括表格,按钮,图标,表单等多种元素,包括数据交互、与父组件的通信等。

性能优化

切换tab时,缓存组件。

方案

Prop

父组件向子组件传递参数。

tabList(tabs标题列表)、tabIndex(当前的tab序号)

自定义事件

切换tab事件

slot

内容分发

动态组件

keep-alive:如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染

复杂化

如果是第一种需求,可以不必自己写组件,UI框架中现有的功能完全可以满足需求。

如果是第二种需求,一般没有完全合适的UI组件,而本例是我个人的一种解决方案。

封装tabs公共部分

tab对应的内容区域使用slot内容分发

ajax请求数据等操作是在分发内容组件中执行的。

钩子函数activated

通过activated监听组件是否激活。

具体实现

template

{{tab.name}}

script

export default { name: MyTabs, props: { tabList: Array, tabIndex: Number }, data () { return { } }, methods: { changeTab: function (tab) {this.$emit(changeTab, tab) } }}

style

.my-tabs { font-size: 14px; color: #444;} .tabs-bar { border-bottom: 1px solid #eee; position: relative; padding: 5px 0; } .tabs-bar-nav { display: table; margin-left: 35px; position: absolute; bottom: -1px; } .tabs-tab { min-width: 110px; padding: 5px 0; position: relative; display: inline-block; text-align: center; cursor: pointer; } .tabs-active { border-top: 1px solid pink; border-left: 1px solid pink; border-right: 1px solid pink; border-bottom: 1px solid #fff; } .tabs-content { padding-left: 20px; padding-right: 20px; padding-bottom: 30px; }

引用

以下one,two内部只是一个p。

import MyTabs from ../componets/tabs.vueimport One from ./one.vueimport Two from ./two.vueexport default { name: Home, components: { MyTabs, one: One, wo: Two }, data () { return {tabIndex: 0,currentContent: one,tabList: [ {index: 0,name: 选项一,component: one }, {index: 1,name: 选项二,component: wo }] } }, methods: {// 切换选项卡 changeTab: function (tab) {this.tabIndex = tab.indexthis.currentContent = ponent } }}

demo

tabs.jpg

相关推荐:

Jquery封装tab自动切换效果的具体实现_jquery

Tab切换组件(选项卡功能)实例代码_jquery

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。