官方使用思路
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| MyPlugin.install = function (Vue, options) { Vue.myGlobalMethod = function () { }
Vue.directive('my-directive', { bind (el, binding, vnode, oldVnode) { } ... })
Vue.mixin({ created: function () { } ... })
Vue.prototype.$myMethod = function (methodOptions) { } }
|
如何像 Element ui 实现按需加载和全部加载?
我们只需 在每个组件中都加入 install 方法
并添加一个全局 install 即可。
类似下面这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| const install = function (Vue, opts = {}) { locale.use(opts.locale); locale.i18n(opts.i18n);
components.forEach((component) => { Vue.component(component.name, component); });
Vue.use(InfiniteScroll); Vue.use(Loading.directive);
Vue.prototype.$ELEMENT = { size: opts.size || "", zIndex: opts.zIndex || 2000, };
Vue.prototype.$loading = Loading.service; Vue.prototype.$msgbox = MessageBox; Vue.prototype.$alert = MessageBox.alert; Vue.prototype.$confirm = MessageBox.confirm; Vue.prototype.$prompt = MessageBox.prompt; Vue.prototype.$notify = Notification; Vue.prototype.$message = Message; };
if (typeof window !== "undefined" && window.Vue) { install(window.Vue); }
|