1. 程式人生 > >vue入門 | 使用vue.js2.0 + ElementUI開發後臺管理系統詳細教程(一)

vue入門 | 使用vue.js2.0 + ElementUI開發後臺管理系統詳細教程(一)

轉載自:http://www.jianshu.com/p/d87d7140944e

導語

本次將會從頭到尾詳解,怎樣使用vue和ElementUI快速開發後臺管理系統,以及在開發過程中遇到的一些bug

如果執行時報錯,請檢查幾個包的版本

  • node.js 6.9.2
  • cnpm 3.10.10
  • vue 2.1.6
  • element-ui 1.0.9
  • 活動釋出
    • 步驟一
    • 步驟二
    • 步驟三
    • 步驟四
  • 活動管理
    • 列表頁
      • 活動詳情頁
        • 活動詳情
          • 步驟一
          • 步驟二
          • 步驟三
          • 步驟四
        • 報名管理
        • 簽到
        • 資料統計
        • 評價管理

開發前準備

開發前,請先熟悉下面的4個文件

正式開始

1. 根據官方指引,構建專案框架
    # 安裝vue
    $ 
cnpm install vue@2.1.6 # 全域性安裝 vue-cli $ cnpm install --global vue-cli # 建立一個基於 webpack 模板的新專案my-project $ vue init webpack my-project # 進入專案目錄 $ cd my-project # 安裝依賴,走你 $ cnpm install # 執行專案 $ cnpm run dev
2. 執行專案之後,會看到以下介面,恭喜你,專案環境搭建成功

normal.png
3. 根據
專案結構
,構建專案目錄

menu.png
  • src/page/ -------------存放檢視頁面的目錄
    • activeManage/ --------------------活動管理
      • index.vue ------------------------活動管理列表頁
      • detail.vue ------------------------活動管理詳情頁
      • page1/2/3/4/5 -------------------分別對應:活動管理/報名管理/簽到/資料統計/評價管理
    • activePublic/ -----------------------活動釋出
      • index.vue -----------------------活動釋出首頁
      • step1/2/3/4 --------------------分別對應:步驟一/二/三/四

4. 搭建專案的首頁

專案首頁由頂部導航欄,左側導航欄,中間內容區構成,如圖


後臺管理系統封面.png

4.1 安裝element-ui

  $ cnpm i element-ui@1.0.9

建議固定vue和element-ui的版本,避免將來版本升級後產生衝突

4.2 引入element-ui

在app.vue引入element-ui,然後就可以在其他任何頁面中使用了

    import Element from 'element-ui'
    import 'element-ui/lib/theme-default/index.css'
    Vue.use(Element)

4.3 使用element-ui

將app.vue改為以下內容

    <template>
      <div id="app">
        <!-- 頭部導航 -->
        <header class="header">
        <el-row>
            <el-col :span="24">
              <el-menu default-active="5" class="el-menu-demo" mode="horizontal" @select="">
                <el-menu-item index="1">高階外掛</el-menu-item>
                <el-menu-item index="2">線上商城</el-menu-item>
                <el-menu-item index="3">客戶管理</el-menu-item>
                <el-menu-item index="4">系統設定</el-menu-item>
                <el-menu-item index="5">活動釋出</el-menu-item>
              </el-menu>
            </el-col>
        </el-row>
        </header>
        <div style="position: relative;height: 60px;width: 100%;"></div>

        <main>
              <!-- 左側導航 -->
            <div class="main-left">
              <el-menu default-active="/activePublic" class="el-menu-vertical-demo" :router="true">
                <el-menu-item index="/activePublic" :class="{'isActive': active}">活動釋出</el-menu-item>
                <el-menu-item index="/activeManage" :class="{'isActive': !active}">活動管理</el-menu-item>
              </el-menu>
            </div>

              <!-- 右側主內容區 -->
              <div  class="main-right" >

              </div>
        </main>
      </div>
    </template>

    <script>
    import Vue from 'vue'
    import Element from 'element-ui'
    import 'element-ui/lib/theme-default/index.css'

    Vue.use(Element)

    export default {
      name: 'app',
      data: function (){
        return {
          active:true
        }
      }
    }
    </script>

    <style>
      body{margin: 0;}
    #app {
      min-width: 1200px;
      margin: 0 auto;
      font-family: "Helvetica Neue","PingFang SC",Arial,sans-serif;
    }
    /* 頭部導航 */
    header{z-index: 1000;min-width: 1200px;transition: all 0.5s ease;  border-top: solid 4px #3091F2;  background-color: #fff;  box-shadow: 0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);  }
    header.header-fixed{position: fixed;top: 0;left: 0;right: 0;}
    header .el-menu-demo{padding-left: 300px!important;}

    /* 主內容區 */
      main{    display: -webkit-box;  display: -ms-flexbox;  display: flex;  min-height: 800px;  border: solid 40px #E9ECF1;  background-color: #FCFCFC;  }
      main .main-left{text-align: center;width: 200px;float: left;}
      main .main-right{-webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  background-color: #fff; padding: 50px 70px; }
      main .el-menu{background-color: transparent!important;}
    </style>

4.4 預覽專案,看到如圖所示頁面,專案的首頁就搭建好了

    $ cnpm run dev

首頁.png 學習前端的過程中,我整理了很多資料,也希望能共享出來幫助到更多剛接觸或者接觸前端不久的同學。不過也為了把控微信群的質量,入群的一定要是前端的小夥伴才可以。入群我就會把資料發給每個人,每天也會挑選前沿的前端高質量文章發到群裡給大家學習。想加入的同學可以加笑笑微信:iamaixiaoxiao,拉你入群。再次強調,保證群高質量,群非前端不加,請諒解哦。掃描微信二維碼也可以。