有时候非父子关系的组件也需要通信。在简单的场景下,使用一个空的 Vue 实例作为中央事件总线:
var bus = new Vue()
// 触发组件 A 中的事件
bus.$emit('id-selected', 1)
// 在组件 B 创建的钩子中监听事件
bus.$on('id-selected', function (id) {
// ...
})
在更多复杂的情况下,你应该考虑使用专门的 状态管理模式.
2024-05-15 09:01:07 阅读次数:33
有时候非父子关系的组件也需要通信。在简单的场景下,使用一个空的 Vue 实例作为中央事件总线:
var bus = new Vue()
// 触发组件 A 中的事件
bus.$emit('id-selected', 1)
// 在组件 B 创建的钩子中监听事件
bus.$on('id-selected', function (id) {
// ...
})
在更多复杂的情况下,你应该考虑使用专门的 状态管理模式.
上一篇:Linux脚本练习之script073-去掉不需要的单词
下一篇:vim分屏
classNames 用法
组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示部分-整体层次结构。这个模式允许客户端以一致的方式处理单个对象和对象组合,因此它将单个对象和组合对象视为可互换的。
Vue学习笔记:路由开发 Part 03
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
一些应用程序的 UI 由多层嵌套的组件组成。
Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态。
Vue学习笔记: provide与inject
在使用VCA方式编写Vue代码是,大部分逻辑都是被setup(){}包裹起来,且最后使用的时候需要return{}出去。比较繁琐,实际上Vue提供了setup语法糖,可以简化这些操作。
Vue学习笔记:插槽Slot
Vue3学习笔记:使用$emit实现子组件传递数据给父组件
文章
28587
阅读量
3786433
2025-01-06 08:43:06
2025-01-06 08:42:57
2025-01-06 08:42:57
2025-01-06 08:42:57
2025-01-06 08:42:49
2024-12-19 08:42:50
2024-07-01 01:32:37
2023-05-04 09:34:09
2023-05-18 09:33:22
2023-06-16 06:09:26
2023-06-08 06:21:43
2023-06-16 06:06:37