【发布时间】:2016-11-05 03:07:57
【问题描述】:
我有一个请求,vue.js 的通用组件在与不同父组件通信时的最佳实践如何。
例如,在我的场景中,一个基本的模态组件,触发了一个'close'方法,但它有两个不同的父组件
我找到了两个解决方案:
parent 需要传递一个额外的 prop,然后是 baisc 组件 触发事件,该事件的名称是道具值,所以监听器 可以调用附加的父组件
在basic modal中只要使用this.$parent来访问父组件方法,或者this.$parent.trigger('xxx'),然后parent就知道该怎么做了
但是,上面两个我觉得都不是很好,第一个可能需要额外传递一个prop,这让其他写第三个,第四个父组件的人使用基本组件不是很方便。第二个可能感觉更硬编码。
那么,在这种情况下是否有更好的解决方案?
【问题讨论】:
-
我会选择第二个选项,无论如何你说
a basic modal component, trigger a 'close' method,是否应该由模态组件本身而不是父级持有关闭方法?或者您可能想触发关闭其他元素?显示您的代码,以便我清楚地弄清楚。
标签: vue.js vue-component