前端框架选型是企业提升开发效率与用户体验的关键因素
706
2022-10-10
Vuemit:最小的Vue.js的事件处理程序(vue常用事件)
Vuemit
Vuemit is a tiny library to work with events on Vue.js. Its aim is to keeping simple the fact of sharing information between any number of components.
Installation
npm install vuemit --save
Gettings started
Require the library within your entry point or your bootstrap file.
window.Vuemit = require('vuemit');
Now you will have a global Vuemit variable which you can use anywhere in your app.
Usage
all the methods take the same props as the Original Events, except for the events-names which can be an array.
Vue | Vuemit | Description |
---|---|---|
this.$emit() | Vuemit.fire() | Fire an event/s : takes 2 arguments ('event-name', (optional) data object) |
this.$on() | Vuemit.listen() | Listen for an event/s : takes 2 arguments ('event-name', callback) |
this.$once() | Vuemit.listenOnce() | Listen once to an event/s : takes 2 arguments ('event-name', callback) |
this.$off() | Vuemit.remove() | Remove listeners for an event/s: takes 2 arguments ('event-name', callback) |
this.$off() | Vuemit.removeListenersFrom() | Remove listeners from an event/s: takes 1 arguments ('event-name') |
this.$off() | Vuemit.removeAll() | Remove all event listeners: takes no arguments |
Vue started to support events array from v2.2.0+ except $emit & $once but with Vuemit you can use events-names as an array with all the methods except removeAll() which takes no arguments.
// fire multiple events with a shared payloadVuemit.fire(['event1','event2'], {some: data})// listen once to multiple events with a shared callbackVuemit.listenOnce(['other-event1', 'other-event2'], ()=>{ // do something ex."refresh localStorage"})
Contributing
Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities.
License
The MIT License (MIT). Please see License File for more information.
How can I thank you?
Why not star the github repo? Why not share the link for this repository on Twitter? Spread the word!
Don't forget to follow me on twitter!
Thanks!
Gustavo Ocanto. gustavoocanto@gmail.com
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~