$props要怎么使用?在日常的开发中用的多吗?以及和$attrs和$listener有什么区别吗?

$props要怎么使用?在日常的开发中用的多吗?以及和$attrs和$listener有什么区别吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2022-07-26 11:04:51

同学你好,解答如下:

1、$props并不常用,简单了解就行,它可以跨层传递数据。假设组件A中使用了组件B,并给组件B传递了很多数据,而组件B中又使用了组件C,则可以利用$props将根组件传给A的数据一口气全部传给组件C,比如:

https://img1.sycdn.imooc.com//climg/62df544d09f3087e18680599.jpg

https://img1.sycdn.imooc.com//climg/62df5455096facb505360083.jpg

2、如果父组件传给子组件的数据,没有在props属性中定义,则可以利用$attrs接收,比如:

https://img1.sycdn.imooc.com//climg/62df5597095be95907700499.jpg

https://img1.sycdn.imooc.com//climg/62df55cd09517b0708370390.jpg

3、$lister可以跨层传递事件,比如A组件中使用了组件B,并监听了一个事件,组件B中又使用了组件C,利用$lister属性,可以在C中触发A组件监听的事件:

https://img1.sycdn.imooc.com//climg/62df595d09894dec18510594.jpg

因此$attr与$lister最大的区别在于一个处理属性,一个处理事件(函数)。

都不常用,了解即可。

祝学习愉快!


  • 提问者 慕神6482028 #1

    那$props与$attrs都可以接收传递过来的数据两者在使用上有什么差别吗?

    2022-07-26 11:09:32
  • 好帮手慕久久 回复 提问者 慕神6482028 #2

    $props用来接收在props属性中定义过的属性:

    https://img1.sycdn.imooc.com//climg/62df75fb09c9035117310554.jpg

    $attrs用来接收没有在props中定义的属性:

    https://img1.sycdn.imooc.com//climg/62df762609e4eeb608160359.jpg

    2022-07-26 13:05:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师