【Vue课序5】保姆级:Vue+Vuex+Element

本文介绍Element UI组件库的基本概念,演示如何通过npm或yarn安装,并利用babel-plugin-component实现按需加载,以减小项目体积。同时,详细讲解如何在Vue项目中全局注册Element UI组件。
摘要由CSDN通过智能技术生成

一、什么是Element

element不用多说,与Ant Design一样是页面样式组件库,每个组件有着很多API需要读者慢慢学习并运用到实际项目当中。有时候为了方便交流,我们称之为 ’elm’ 或者 ’饿了么‘

二、安装”elm“

通过npm安装:

npm install element-ui -S

通过yarn安装:

yarn add element-ui -S


三、按需加载

  1. 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

yarn add babel-plugin-component -D

配合elm-ui的ES标准

yarn add babel-preset-es2015 --save-dev


  1. 修改 .babelrc
{
    "presets": [
        ["es2015", { "modules": false }], // 配合elm-ui的ES标准
        "stage-2" // 支持babel编译 用来配合...mapState | ...mapGetter 的使用
    ],
    // 第三个参数为 elm的按需加载
    "plugins": ["transform-vue-jsx", "transform-runtime", [
    
        "component",
    {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
    }
    ]],
    "env": {
    "test": {
        "presets": ["env", "stage-2"],
        "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
    }
  }
}

  1. elm组件注册到全局,修改main.js
import Vue from 'vue'
import App from './App'
import router from './router'

// 引入store树
import store from './store.js'

// 此方法直接注入全局,子组件无需再引入
// 此时拿Table组件为例子
import { Table, TableColumn } from 'element-ui';


// 使用Table组件
Vue.use(Table);
Vue.use(TableColumn);

Vue.config.productionTip = false

/* eslint-disable no-new */

new Vue({
    el: '#app',
    router,    
    store, // 注册到全局
    components: { App },
    template: '<App/>'
})

  1. 修改index.vue中的<template/>
<template>
    <div class="hello">

        <button v-on:click.stop="async_action()">异步请求</button>

        <!-- Table组件 详情参数请阅读官方文档 -->
        <!-- https://element.eleme.cn/#/zh-CN/component/table —>

        <el-table :data="table.table" border style="width: 100%”>

            <el-table-column prop="id" label="id"></el-table-column>    
            <el-table-column prop="name" label="name"></el-table-column>
            <el-table-column prop="phone" label="phone"></el-table-column>
            <el-table-column prop="qq" label="qq"></el-table-column>

  		</el-table>

    </div>
</template>

  1. 再次点击按钮,可以看到表格数据已成功渲染。

在这里插入图片描述


自己根据文档编写的项目无法正常运行请在github下载
git clone https://github.com/luvsta/First-Vue-Component

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值