设置全局的 npm 镜像地址
bash
npm config set registry https://registry.npmmirror.com
按需导入 element-ui 组件
js
import Vue from "vue";
import {
Form,
FormItem,
Input,
Row,
Col,
RadioGroup,
Radio,
Checkbox,
Button,
RadioButton,
Pagination,
InfiniteScroll,
Dialog,
Message,
Select,
Option,
Carousel,
CarouselItem,
CheckboxGroup,
Popover,
Tooltip,
} from "element-ui";
import locale from "element-ui/lib/locale/lang/en";
const components = [
Form,
FormItem,
Input,
Row,
Col,
RadioGroup,
Radio,
Checkbox,
Button,
RadioButton,
Pagination,
Dialog,
Select,
Option,
Carousel,
CarouselItem,
CheckboxGroup,
Popover,
Tooltip,
];
const Element = {
install(Vue) {
components.forEach((component) => {
Vue.component(component.name, component);
});
},
};
Vue.use(InfiniteScroll);
Vue.use(Element, { locale });
Vue.prototype.$message = Message;
vue 组件导入外部 js,如何传递 this
在 vue 组件中
js
mounted() {
// 在外部js加载器前在window上挂载当前实例
window.vueInstance = this;
const demo = require("./js/trialDialog.js");
},
// 组件销毁时候删除window上的实例属性
beforeDestroy() {
delete window.vueInstance;
},
在外部 js 中
js
(function () {
const vm = window.vueInstance;
vm.$store.commit("sidebar/SET_TRAIL_DIALOG_SHOW", false);
})();