vue组件封装注意项

好久没用vue,复习一下,有误请指出

一 组件交互

就写写我常用的,我觉得是这三种是够用的,其他的看得少没用过,有空看看用用再写

1.props/$emit 父子传值

props的值不可直接修改

props可以是数组可以是对象。

 props: {
   
        modal: {
   
            default: '',
        },
        obj: {
   
        	type: Object,
        	default: () => ({
   
        		a:1
        	})
        },
        arr: {
   
 2 			type: Array,
 3 			default: () => ([])
    	},
    	fun: {
   
 8 			type: Function,
 9 			default: () => () => {
   }
10 		}
   }

default为该 prop 指定一个默认值。如果该 prop 没有被传入,则换做用这个值。对象或数组的默认值必须从一个工厂函数返回。
props里面的属性都不能被赋值修改,如果修改会报错。如果需要对props里面的属性进行修改,可以在computed使用其他的值

$emit

向父级传递事件,以及数据,数据将作为事件的参数传递

2. $attrs/$listeners 祖孙

有多层嵌套的组件封装时传递数据和事件
$attrs用v-bind绑定在父级组件上即可使用,用来传递隔代的数据
$listeners用v-on绑定在父级上使用,用来绑定隔代的事件
<parent v-bind="$attrs

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值