美文网首页
Vue通用组件

Vue通用组件

作者: PTsuperBrother | 来源:发表于2018-11-04 10:38 被阅读0次

一.数据从父组件传入
为了解耦,子组件本身就不能生成数据。即使生成了,也只能在组件内部运作,不能传递出去,下面是在一些较复杂的场景中,对props传递的参数加一些验证,也是方便如果是数据类型不符合可以直接抛出异常。

props: {
 tableData: {
   type: Array,
   required: true // 必传
 },
 titleName: String,
 needNum: [String, Number], // 两个类型都可以传
 isEdit: {
  type: Boolean,
  default: false // 默认false
 }
}

props传入参数,不建议对它进行操作,如果要操作,请先在子组件深拷贝。

二、在父组件处理事件
比如某些子组件的click事件,避免高耦合,逻辑最好放在父组件中,子组件只是一个承载体。

// 子组件 proflist
changeSort( sortObj ) {
  this.$emit('sortChange', sortObj )
}
// 父组件
<proflist @hanldSortChange='sortChange'></proflist>

三.slot的应用
现在有一个需求,在同一个子组件中,我在不同的场景需要用到不同的按钮,那么在封装组件的时候就不用去写按钮,只用在合适的未知留一个slot,把按钮的位置留出来,然后再父组件中写入:

// 子组件
<div class = 'public_btn'>
  <slot name = 'button'></slot>
</div>
// 父组件
<child>
  <button slot = 'button'>按钮1</button>
</child>

这样一个具名插槽灵活地解决了不同场景同一组件不同配置的问题。

相关文章

  • Vue通用组件

    一.数据从父组件传入为了解耦,子组件本身就不能生成数据。即使生成了,也只能在组件内部运作,不能传递出去,下面是在一...

  • 组件分享-脑图版

    Vue组件 什么是组件 组件是一种编程抽象,其目的是复用 通用型组件 业务性组件 为什么需要组件 从业务角度看,业...

  • 性能优化之Vue组件懒加载(一)

    通用的Vue 2.x 组件级懒加载解决方案(Vue Lazy Component ),非常适合长页面加载。 xun...

  • 2019-07-22

    Vue项目优化 1、封装通用组件,组件化开发 2、样式尽量写在公共css里,利于webpack压缩 3、build...

  • vue 组件插槽

    一、vue插槽有什么用 插槽语法是vue中实现内容分发的api,用于复合组件开发。该技术在通用组件库开发中有大量应...

  • Echarts Vue组件 基本通用组件

    1. 通用组件,基本设置 2. 应用 2.1 引用 2.2 在页面中应用 2.3 设置数据给datalists,...

  • Vue通用组件的封装

    最近项目做完了,抽出一些时间做一些总结,主要是针对于可复用组件的解耦和样式复用。 一.数据从父组件传入 为了解耦,...

  • vue项目优化-通用组件

    在做项目过程中,通常会用到很多通用组件,为了方便维护通常会把通用的组件放在一个文件夹(components)里 然...

  • vue2+ts组件库搭建

    背景 公司通用的框架是vue2+js,组件库也是基于vue+js的。我们组内根据自己的业务特点,使用了vue2+t...

  • Vue插槽

    插槽语法是Vue 实现的内容分发 API,用于复合组件开发。该技术在通用组件库开发中有大量应用。 匿名插槽 具名插...

网友评论

      本文标题:Vue通用组件

      本文链接:https://www.haomeiwen.com/subject/tydrxqtx.html