Vue入門10 vue+elementUI

2021-02-20 因為我只是一隻小貓咪
十二、實戰快速上手

我們採用實戰教學模式並結合ElementUI組件庫,將所需知識點應用到實際中,以最快速度帶領大家掌握Vue的使用;

ElementUI:https://element.eleme.cn/#/zh-CN/component/installation

npm安裝推薦使用npm的方式安裝,它能更好地和webpack打包工具配合使用。npm i element-ui -S

CDN目前可以通過unpkg.com/element-ui獲取到最新版本的資源,在頁面上會js和css文件即可開始使用。<!-- 引入樣式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"><!-- 引入組件庫 --><script src="https://unpkg.com/element-ui/lib/index.js"></script>

通過CDN的方式我們可以很容易地使用Element寫出一個Hello world頁面。

<!DOCTYPE html><html><head>  <meta charset="UTF-8">    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"></head><body>  <div id="app">    <el-button @click="visible = true">Button</el-button>    <el-dialog :visible.sync="visible" title="Hello world">      <p>Try Element</p>    </el-dialog>  </div></body>    <script src="https://unpkg.com/vue/dist/vue.js"></script>    <script src="https://unpkg.com/element-ui/lib/index.js"></script>  <script>    new Vue({      el: '#app',      data: function() {        return { visible: false }      }    })</script></html>

國際化

Element組件內部替代使用中文,若希望使用其他語言,則需要進行多語言設置。以英語為例,在main.js中:

import Vue from 'vue'import ElementUI from 'element-ui'import locale from 'element-ui/lib/locale/lang/en'
Vue.use(ElementUI, { locale })

12.1、創建工程

注意:命令行都要使用管理員模式運行
1、創建一個名為hello-vue的工程vue init webpack hello-vue

2、安裝依賴, 我們需要安裝vue-router、element-ui、sass-loader和node-sass四個插件

cd hello-vuenpm install vue-router --save-devnpm i element-ui -Snpm installcnpm install sass-loader node-sass --save-devnpm run dev

啟動測試

3、Npm命令解釋:

npm install moduleName:安裝模塊到當前項目目錄下

npm install -g moduleName:-g的意思是將模塊安裝到全局,具體安裝到磁碟哪個位置要看npm config prefix的位置

npm install -save moduleName:–save的意思是將模塊安裝到項目目錄下, 並在package文件的dependencies節點寫入依賴,-S為該命令的縮寫

npm install -save-dev moduleName:–save-dev的意思是將模塊安裝到項目目錄下,並在package文件的devDependencies節點寫入依賴,-D為該命令的縮寫

12.2、創建登錄頁面

把沒有用的初始化東西刪掉!
  在源碼目錄中創建如下結構:

assets:用於存放資源文件

components:用於存放Vue功能組件

views:用於存放Vue視圖組件

router:用於存放vue-router配置

創建首頁視圖,在views目錄下創建一個名為Main.vue的視圖組件:

<template>  <div>首頁</div></template><script>  export default {      name:"Main"  }</script><style scoped></style>

創建登錄頁視圖在views目錄下創建名為Login.vue的視圖組件,其中el-*的元素為ElementUI組件;

<template>  <div>    <el-form ref="loginForm" :model="form" :rules="rules" label-width="80px" class="login-box">      <h3 class="login-title">歡迎登錄</h3>      <el-form-item label="帳號" prop="username">        <el-input type="text" placeholder="請輸入帳號" v-model="form.username"/>      </el-form-item>      <el-form-item label="密碼" prop="password">        <el-input type="password" placeholder="請輸入密碼" v-model="form.password"/>      </el-form-item>      <el-form-item>        <el-button type="primary" v-on:click="onSubmit('loginForm')">登錄</el-button>      </el-form-item>    </el-form>
<el-dialog title="溫馨提示" :visible.sync="dialogVisiable" width="30%" :before-close="handleClose"> <span>請輸入帳號和密碼</span> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="dialogVisible = false">確定</el-button> </span> </el-dialog> </div></template>
<script> export default { name: "Login", data(){ return{ form:{ username:'', password:'' }, rules:{ username:[ {required:true,message:"帳號不可為空",trigger:"blur"} ], password:[ {required:true,message:"密碼不可為空",tigger:"blur"} ] },
dialogVisible:false } }, methods:{ onSubmit(formName){ this.$refs[formName].validate((valid)=>{ if(valid){ this.$router.push('/main'); }else{ this.dialogVisible=true; return false; } }); } } }</script>
<style lang="scss" scoped> .login-box{ border:1px solid #DCDFE6; width: 350px; margin:180px auto; padding: 35px 35px 15px 35px; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; box-shadow: 0 0 25px #909399; } .login-title{ text-align:center; margin: 0 auto 40px auto; color: #303133; }</style>

創建路由,在router目錄下創建一個名為index.js的vue-router路由配置文件

import Vue from 'vue';import Router from 'vue-router';import Main from "../views/Main";import Login from "../views/Login";Vue.use(Router);export default new Router({  routes:[    {      path:'/login',      component:Login    },    {      path: '/main',      component: Main    }  ]});

APP.vue

<template>  <div id="app">    <router-link to="/login">login</router-link>  <router-view></router-view>  </div></template>
<script>

export default { name: 'App',
}</script>
<style>#app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px;}</style>

main.js

import Vue from 'vue'import App from './App'import  router from './router'
import Element from 'element-ui'import locale from 'element-ui/lib/locale/lang/en'Vue.config.productionTip = false;Vue.use(ElementUI);Vue.use(router);new Vue({ el: '#app', router, render:h=>h(App)});

測試:在瀏覽器打開 http://localhost:8080/#/login
如果出現錯誤: 可能是因為sass-loader的版本過高導致的編譯錯誤,當前最高版本是8.0.2,需要退回到7.3.1 ;
去package.json文件裡面的 "sass-loader"的版本更換成7.3.1,然後重新cnpm install就可以了;

報錯

---上面是原視頻和百度到的大部分的方法,但是我的沒有解決,不知道為什麼,改了大半天,用下面的代碼解決的

npm install --save-dev node-sass sass-loader@6.0.7

相關焦點

  • 前端技術棧:5分鐘入門VUE+Element UI
    可以將vue項目打包成靜態文件npm install webpack -gvue 2.0 + Element UI 項目搭建基礎版本搭建隨便找個目錄輸入如下命令# 初始化一個叫做vue2_elementui的項目,使用webpack模板vue init webpack-simple vue2_elementui# 進入項目目錄
  • VUE+ElementUI
    /2.2 Element使用步驟 1.引入Element樣式文件 element-ui/lib/theme-chalk/index.css 2.引入Vue核心JS文件 vue.js 3.引入Element核心js文件 element-ui/lib/index.js 4.編寫相關Element代碼 5.通過Vue核心對象加載元素 new
  • vue-element-admin 介紹
    簡介vue-element-admin 是一個後臺集成解決方案,它基於 vue 和 element。它使用了最新的前端技術棧,內置了 i18 國際化解決方案,動態路由,權限驗證,提煉了典型的業務模型,提供了豐富的功能組件,它可以幫助你快速搭建企業級中後臺產品原型。相信不管你的需求是什麼,本項目都能幫助到你。
  • vue+element-ui簡單實現表格可編輯效果
    關於vue項目表格可編輯編輯在此記錄兩個demo,以便於大家學習,兩種方式處理的原理有所不同,第一種方式是通過數據控制當前表格是否是編輯狀態,第二種則是一種投機,利用elementui選中時候class的變化去控制。第二種方式很簡單,但個人認為第一種方式更安全,大家可以細細的品。方式一<!
  • Vue-element-admin 安裝配置及發布
    最近從手機端項目轉戰網頁端項目,經推薦使用了了vue-element-admin。
  • 2020年GitHub高贊vue的UI框架
    1:餓了麼ElementUI推薦指數:star:45.2k  適用:PC端官網地址:http://element-cn.eleme.io/#/zh-CNGitHub地址:https://github.com/ElemeFE/element介紹:element-ui中規中矩,上手挺快,大多數vue開發應該都是選擇element,因為社區做的比較完整
  • Vue + TypeScript + Element 項目實戰及踩坑記
    vue: ^2.6.6typescript : ^3.2.1element-ui: 2.6.3vue-router : ^3.0.1webpack: 4.28.4vuex: ^3.0.1axios:0.18.0redux: 4.0.0highlight.js: 9.15.6
  • 推薦21個頂級的Vue UI庫!
    地址:https://github.com/ElemeFE/elementStar 數差不多 6K,是一個實了谷歌 Material Design 的簡單庫。該庫還提供了一個 webpack 樣板、用於 Nuxt.js 的 SSR 模板和一個單獨的 HTML 文件(通過這個文件開始使用框架)。
  • Element UI for Vue 3.0 來了!
    正如 vue-next 之於 vue,一次 100% 的重構雖然解決了很多歷史遺留問題,但也不可避免的引入一些新的 bug 和問題,而獨立的 issue 和 pr 區可以減少大家使用和反饋的心智成本,也能更加方便我們定位問題,並行維護迭代。
  • [20210111]用 ElementUI For Vue 搭建一個動態提交表單工具 - Web端 - 開發日誌 - 第 1 天
    vue init webpack web-project? Project name [項目名]? Project description [項目說明]? Author [開發者]? Vue build standalone? Install vue-router? Yes? Use ESLint to lint your code?
  • 使用Vue完成前後端分離開發[Spring Boot, Vue, Flask, Django](一)
    使用 elementUI這裡使用了官網:http://element-cn.eleme.io/#/zh-CN/component/installation這裡我們進入剛才的項目目錄:並執行 npm i element-ui-S
  • Element UI for Vue 3.0 來了!【官方總結】
    正如 vue-next 之於 vue,一次 100% 的重構雖然解決了很多歷史遺留問題,但也不可避免的引入一些新的 bug 和問題,而獨立的 issue 和 pr 區可以減少大家使用和反饋的心智成本,也能更加方便我們定位問題,並行維護迭代。
  • vue最簡單的入門教程+實戰(vue-cli3.X)
    如果你仍然需要使用舊版本的 vue init 功能(有時我們還需要vue-cli 2.X 環境,因為有些老項目需要維護),你可以全局安裝一個橋接工具:npm install -g @vue/cli-init這樣你就可以使用2.X的模板了, vue init 的運行效果將會跟 vue-cli@2.x 相同。
  • vue-element-admin v3.6.4 發布,後臺集成方案
    vue-element-admin v3.6.4 已發布,更新如下:優化: index.html script 標籤插入位置 #507優化: 使用 2 空格替代一個
  • 一個後端狗的 Vue 筆記【入門級】
    一 前言最近找了些教程,順帶著趴在官網上,看了看 Vue 的一些內容,入門的一些概念,以及基礎語法,還有一些常用的操作,瞄了一眼,通篇文字+貼了部分代碼 9000 多字,入門語法什麼的還是很好理解的,以前也有一定做小程序的基礎,感覺還是很相似的,不過對於一些稍複雜的點,感覺還是總結的不夠細緻,例如插槽,和計算屬性等,平時前端的東西看的也不是很多,學習過程中整理的筆記,和大家一起分享交流
  • element-ui使用實例
    一、Element-ui開發記錄Form表單由輸入框、選擇器、單選框、多選框等控制項組成,用以收集、校驗、提交數據
  • Vue入門 | 使用Vue-cli新建Vue項目
    1、全局安裝vue-clinpm install --global vue-cli全局安裝vue-cli2、運行以下命令來創建一個新項目:vue create hello-worldvue create 命令有一些可選項,你可以通過運行以下命令進行探索:選項:  -
  • 跟我一起編寫Vue3版ElementUI
    Fork代碼首先需要將vue代碼通過github的fork功能複製一份到自己的githubgithub.com/kkbjs/eleme…複製後的結果github.com/su37josephx…2. clone到本地git clone git@github.com:su37josephxia/element3.git複製代碼3.
  • 【收藏】2019年最新Vue相關精品開源項目庫匯總
    element ★34436 - 餓了麼出品的Vue2的web UI工具套件iview ★19488 - 基於 Vuejs 的開源 UI 組件庫vuetify ★16076 - 為移動而生的Vue JS 2組件框架Vux ★14975 - 基於Vue和WeUI的組件庫mint-ui ★13302 - Vue 2的移動UI元素
  • Element UI + Vue 管理系統首頁
    </p> <h3>Installed CLI Plugins</h3> <ul> <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target=