如题,我使用 vue 开发项目,父组件下有多个子组件,每个子组件负责一块不同的 UI 样式展示,每个子组件我都需要单独绑定 click 事件,传参不同,比如子组件一传参 clickFn("component1"),但是用的点击方法是同一个点击方法,那大家觉得,每个子组件单独引入 click 方法后,绑定点击事件更合理,还是通过 emit 告诉父组件,由父组件统一导入一次 click 方法,绑定点击事件更合理?
如题,我使用 vue 开发项目,父组件下有多个子组件,每个子组件负责一块不同的 UI 样式展示,每个子组件我都需要单独绑定 click 事件,传参不同,比如子组件一传参 clickFn("component1"),但是用的点击方法是同一个点击方法,那大家觉得,每个子组件单独引入 click 方法后,绑定点击事件更合理,还是通过 emit 告诉父组件,由父组件统一导入一次 click 方法,绑定点击事件更合理?
我的建议是把 展示组件 和 容器组件 区分开。👉 展示组件(Presentational Components)与容器组件(Container Components)
也就是说通过展示组件的 emit
来告诉父级容器组件,让容器组件去做业务的逻辑判断。子组件只需要做数据渲染的工作。
6 回答2.9k 阅读✓ 已解决
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
3 回答4.2k 阅读✓ 已解决
统一在父组件处理较好,没必要在每个子组件单独去写,这样点击事件统一在父组件维护就行