vue-comps-manager为你的项目增加了更灵活的钩子功能,让组件系统可管理作为一个前端小学生,希望各位大明星鼓励一下GitHub:https://github.com/allensunjian/vue-components-manager适用于vue项目开发的单页应用。解决的问题:1.组件/组件层级过深导致的传值繁琐问题。2.由于使用保活组件导致无法及时更新的问题。优点:1、增加onshow/onleavehooks,不受keep-alive组件缓存的影响。2可以提供API以轻松获取任何(注册的)组件。3降低组件多层嵌套带来的空间复杂度注:1需要配合vue-router安装npminstallvue-comps-manager--save--devconfigurationmain.jsimportrouterfrom'@/router/index'importCompManfrom"vue-comps-manager";CompMan(router)以上基本配置已经完成启动配置页面:onshow/onleave在页面根对象上配置onshow/onleavehooks;作用:当路由跳转到该组件时,会执行onshow,并带回跳转参数。当路由从一个组件离开到另一个组件时,会执行onleave并将目的地带回参数a.vueexportdefault{name:"a",//这里必须配置onshow:function(query){},onhide:function(toPath){}}//如果页面不需要onshow/onhidehooks,则不需要配置。配置全局响应函数(路由变化时执行)注:1、name属性是必须的。你需要依赖这个字段来与组件建立映射关系。App.Vueexportdefault{name:"app"methods:{compManGOL(){return{a(){},b(){},c(){}}}}"compManGOL"是默认的全局hook配置方法,然后放置你想在路线改变时触发的功能。就是这样,同时执行a,b,c....函数。如果你不喜欢“compManGOL”这个名字,那么继续看最后也是一个可配置的组件配置:在你要管理的每个组件中配置response名称可以如:a.vueexportdefault{name:"a"}b.vueexportdefault{name:"b"}Getcomponent://在任何组件中:this.$lib_get("a")//可以获取a组件this.$lib_get("b")//获取b组件的个性化配置提供.config方法实现个性化配置目前提供两个配置项:1root作为组件的根节点,不仅可以调用app,还可以任意调用nameyoulike(default:app)2methodsLibName全局响应函数的仓库指定一个名称(default:compManGOL)importrouterfrom'@/router/index'importCompManfrom"vue-comps-manager";CompMan(router).config({root:"xxxxPage",methodsLibName:"xxxxOpts"});
