假设我有一个按钮组件,它被导入到其他几个组件中.我希望子组件不与单击按钮时发生的任何一种逻辑相耦合.所以我想在利用这个按钮组件的各种组件中保留这种逻辑.

我认为至少有两种方法可以做到这一点.

  1. 让子元素向父母发出一个事件,然后让父母定义处理程序.

  2. 在父对象中定义处理程序,并将其作为props 传递给按钮组件.

我习惯于在react 中做后者.vue中是否有针对这种情况的最佳实践?

推荐答案

Vue的理念是放下props ,把事件放上go .第一个选项紧随其后,当事件本身被emits (向上)到父级,然后被处理时.

此外,在Vue SFC中,您还可以在绑定属性的前面加上v-on(或@),将其意图描述为向上移动的事件,而不是v-bind(或:),这意味着它是一个props ,尽管它实际上是对事件的回调.

Vue.js相关问答推荐

Vue3:如何在功能组件中重用插槽vnode

Vue 3:插槽属性 - 可以通过 props 传递数据吗?

Vue3外部数组的响应性

将媒体源/流绑定到视频元素 - Vue 3 组合 API

VueJS - 将单独的组件加载到 vue 实例中

Defer推迟执行,直到外部脚本加载到 Vue.js

在 vuejs 中的图像中包含 router-link 标记

ECMA6 中 nameFunction() {} 和 nameFunction () => {} 的区别

W3C 验证和 Vue 的 HTML 绑定语法

v-for 中的 VueJS 插槽

如何使用 vuejs 从 SPA 访问 /storage -laravel- 中的图像

从 Url 中删除查询字符串参数

如何在 Vue 3 中使用 SSR

不需要提交Mutations的 vuex 操作

使用 Vue.js 的用户可切换自定义主题

从 Axios 响应中解析 XML,推送到 Vue 数据数组

在 VueJS 中使用 Axios - 这个未定义

使密码字符隐藏在 Vuetify 字段中

在 Vue.js 模板中调用函数

Vue中的嵌套循环