Vue - 组件

本文介绍了 Vue.js 中组件的基础知识,包括全局与局部注册、props 传递、使用 $emit 触发事件、插槽机制及动态组件的应用。

基础


注册组件

组件可以在全局注册,也可以在局部注册,全局注册的组件所有子组件都可以使用


// 全局注册组件
Vue.component("component-name", {
  // options 和跟实例的options参数一样,除了 el
  data(){
    return { xxx };
  }
})

组件的 data 参数必须是一个函数( 防止 data 对象被多个相同组件共享 )

 

props

prop 是自定义到组件上的一些属性,组件传入的 prop 会成为该实例的一个属性

 

通过事件向父组件发消息

使用 $emit 触发父组件的事件

<sub v-on:someEvent="doSomething"></sub>
// sub 组件某个方法
this.$emit( "someEvent" , arg)

 
只可以向上传递一个参数,而且必须用 $event 变量名接收

 

插槽

插槽可以将自定义组件中的内容渲染在组件中( React的children )

 

动态组件

通过 Vue 的 component 元素和 is 属性实现


// currentComponent 可以是一个组件的选项对象,或者是一个已经注册的组件的名字
<component is="currentComponent"></component>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值