vue组件封装

一.父组件向子组件传值

子组件通过props接受数据,可以限制其类型格式

props: {
 tableData: {
   type: Array,
   required: true // 必传
 },
 titleName: String,
 needNum: [String, Number], // 两个类型都可以传
 isEdit: {
  type: Boolean,
  default: false // 默认false
 }
}
//父组件绑定一个自定义变量msg
<HelloWorld :msg="MSG" />
//子组件接受,限制类型为string
props: {
    msg: String
  }

二.子组件向父组件传值

通过$emit(function,data)

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

三.slot的应用

在不同的场景需要用到不同东西,此时留一个插槽出来

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

当只有一个slot 可以不写name

参考文献:https://www.jianshu.com/p/233d17dfbd16

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容