ui库和web端产品库合并版本(还需修复细节)
This commit is contained in:
45
ui/packages/index.js
Normal file
45
ui/packages/index.js
Normal file
@@ -0,0 +1,45 @@
|
||||
//本地仓库外部组件
|
||||
|
||||
// 存储组件列表
|
||||
let components = [];
|
||||
// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册
|
||||
const install = function (Vue) {
|
||||
if (install.installed) return;
|
||||
// 遍历注册全局组件
|
||||
let contexts = require.context('.', true, /[\\\/]Ai([^\\\/]+)\.vue$/);
|
||||
Vue.directive('throttle', {
|
||||
bind: function (el, obj) {
|
||||
let timerId = null
|
||||
let flag = true
|
||||
|
||||
el.addEventListener('input', function () {
|
||||
if (!flag) return
|
||||
|
||||
flag = false
|
||||
timerId && clearTimeout(timerId)
|
||||
timerId = setTimeout(function () {
|
||||
flag = true
|
||||
obj.value()
|
||||
}, 800)
|
||||
})
|
||||
}
|
||||
})
|
||||
if (contexts) {
|
||||
contexts.keys().map((e) => {
|
||||
components.push(contexts(e).default);
|
||||
Vue.component(contexts(e).default.name, contexts(e).default);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// 判断是否是直接引入文件
|
||||
if (typeof window !== 'undefined' && window.Vue) {
|
||||
install(window.Vue);
|
||||
}
|
||||
|
||||
export default {
|
||||
// 导出的对象必须具有 install,才能被 Vue.use() 方法安装
|
||||
install,
|
||||
// 以下组件列表
|
||||
...components
|
||||
};
|
||||
Reference in New Issue
Block a user