2 回答

TA贡献1876条经验 获得超7个赞
Vue.prototype.$myPlugin = function () {
return {
newEvent: function () {
this.$emit('new-event-from-plugin');
}.bind(this)
};
然后像这样使用它
this.$myPlugin().newEvent()

TA贡献1911条经验 获得超7个赞
在Vuejs中,当我们想要发出带有事件的特定值并在父组件中侦听事件时,我们使用该事件。实际上,我们在 vue 组件中玩,你想从插件中发出一个事件.js!$emit()$emit()
我建议你使用 pubsub.js。这是有用和惊人的库,为您的自定义侦听器。
你可以像这样使用它:
import PubSub from 'pubsub-js';
export default {
install(Vue) {
if (this.installed) {
return;
}
this.installed = true;
PubSub.publish('new-event-from-plugin');
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<template>
<div>My app</div>
</template>
<script>
import PubSub from 'pubsub-js';
export default {
name: 'app',
created() {
PubSub.subscribe('new-event-from-plugin', () => {
console.log("it's worked!");
});
}
}
</script>
添加回答
举报