目录前言 1、 props / $emit 2、ref / $refs 3、eventBus事件总线($emit / $on) 4、依赖注入(provide / inject) 5、$parent /
顺晟科技
2021-06-19 08:06:37
195
<my-button @click="click">点击</my-button>
顺晟科技:
我隐约觉得你想错了方向。但如果你一定要这么做,可以通过自定义指令实现这个效果:
要做框架,不是做具体业务。框架要提供相关方法。
my-button组件触发click事件的时候,把组件标识带上就行了,比如
为什么要在父组件监听子组件的事件并访问子组件的状态,而不是在子组件里完成业务呢?
没有。如果你能访问根组件,可以尝试通过遍历 VDOM 寻找匹配项并找到组件实例的引用
在my-button组件内封装$emit(‘click’,this)
this.$emit('click', this.cid)
谢谢各位,其实click只是举个例子,不一定是click,也可能是onmouseover之类的任何事件。甚至这个html元素不是通过事件,而是通过document.querySelector()获取的。我的需求说清楚一点就是,给定了一个HTML元素对象,怎么获取这个元素对应的组件?vue有没有提供某种快捷的获取途径?
代码仅供示意,请根据你的具体业务调整逻辑实现。
09
2022-11
30
2022-09
23
2022-09
23
2022-09
23
2022-09
23
2022-09