vuestrap spinner无法收听显示的事件

时间:2016-09-23 05:05:30

标签: vue.js

https://github.com/yuche/vue-strap/blob/master/src/Spinner.vue https://github.com/yuche/vue-strap/blob/master/docs/example/spinnerDocs.vue

查看参考实现,我尝试在此处执行相同操作:https://jsfiddle.net/gw3br69r/2/

我已尝试收听showshow:spinnerspinnerspinner:shown等不同事件,并尝试通过以下方式收听事件$on在此处详细说明:https://vuejs.org/api/#vm-onhttps://vuejs.org/guide/components.html#Parent-Child-Communication,但我无法收听该事件。我也尝试过vue.js的非缩小调试版本,但我不知道如何跟踪所有事件以查看shown:spinner是否被调用。

1 个答案:

答案 0 :(得分:1)

如果Spinner组件使用$dispatch()“沿着父链向上传播”,那么您的代码将起作用。

但是看at the source code,我们看到$broadcast()被用来“向下传播给所有后代”。

我不知道为什么他们是广播而不是调度,我不明白他们的文档示例是如何工作的。这似乎不可能。必须调整或改变某些东西。

无论如何,“孩子”播放的事件可以通过其“父母”使用v-on进行聆听。它是这样的:

<spinner v-on:shown::spinner="doSomething"></spinner>

查看工作小提琴:https://jsfiddle.net/x80ph0mk/1/