Skip to content

设置全局的 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);
})();