vue---父组件监听子组件并获取子组件的值(子组件多个值)

vue---父组件监听子组件并获取子组件的值(子组件多个值),第1张

script:

// changeName:子组件watch的 this$emit('changeName', thisprovince)的changeName,是自定义的

// lockValue:父组件的方法名

组件通信常用方式

props

父给子传值

自定义事件

子给父传值

$emit

$bus事件总线

任意两个组件之间传值常用事件总线 或 vuex的方式。

event bus

vuex

唯一的全局数据管理者store,通过它管理数据并通知组件状态变更。

边界情况

$parent/$root

兄弟组件之间通信可以通过共同祖辈搭桥 $parent 或$root

$children

父组件可以通过$children访问子组件实现父子通信

$refs

获取子节点引用

provide/inject

能够实现祖先和后代之间的传值

$attrs $listeners

非prop特性 ,可以包含所有父作用域的绑定(class style除外)并且可以通过v-bind=“$attrs”传入组件内部,创建高级组件时特别有用

插槽语法是vue实现的内容分发api 适合复合组件开发,在通用组件库的开发中大量使用。

匿名插槽

具名插槽

将内容分发到子组件指定位置

作用域插槽

分发内容到子组件的数据

create函数

建通知组件,Noticevue

原因是父组件请求数据时,子组件已经渲染完毕,这个时候传了一个空数组给子组件子,子组件用到父组件传过来的值而出现的报错

解决办法:

1 给子组件添加一个渲染条件,有值的时候在渲染

2 使用watch监听,数据变化时动态更新数据

3 把数据存储到vuex 读取vuex里面的数据

4 通过ref 直接给组件赋值,不过这已经是在 *** 作dom了(不建议使用)

以上就是关于vue---父组件监听子组件并获取子组件的值(子组件多个值)全部的内容,包括:vue---父组件监听子组件并获取子组件的值(子组件多个值)、vue最全的组件通信和插槽,看这一篇就够了、vue父组件异步获取数据传值给子组件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9706666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存