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