vue 第四天 與第五天的簡單介紹

day04
## 一、模塊化開發

### 1. vue-router模塊化
    cnpm install vue-router -S

#### 1.1 編輯main.js
    
#### 1.2 編輯App.vue

#### 1.3 編輯router.config.js

### 2. axios模塊化
    cnpm install axios -S

    使用axios的兩種方式:
        方式1:在每個組件中引入axios
        方式2:在main.js中全局引入axios並添加到Vue原型中

### 3. 爲自定義組件添加事件        


## 二、 Elment UI

### 1. 簡介
    Element UI是餓了麼團隊提供的一套基於Vue2.0的組件庫,可以快速搭建網站,提高開發效率
        ElementUI  PC端
        MintUI 移動端

[官網](http://element.eleme.io/)

### 2. 快速上手

#### 2.1 安裝elment ui
    cnpm install element-ui -S

#### 2.2 在main.js中引入並使用組件
    import ElementUI from 'element-ui'
    import 'element-ui/lib/theme-default/index.css' //該樣式文件需要單獨引入
    Vue.use(ElementUI);
    這種方式引入了ElementUI中所有的組件

#### 2.3 在webpack.config.js中添加loader    
    CSS樣式和字體圖標都需要由相應的loader來加載,所以需要style-loader、css-loader

    默認並沒有style-loader模塊,所以需要單獨安裝
        cnpm install style-loader --save-dev

#### 2.4 使用組件

#### 2.5 使用less
    安裝loader,需要兩個:less、less-loader
        cnpm install less less-loader -D
    在webpack.config.js中添加loader    

### 3. 按需引入組

#### 3.1 安裝babel-plugin-component
    cnpm install babel-plugin-component -D  

#### 3.2 配置.babelrc文件
    "plugins": [["component", [
        {
          "libraryName": "element-ui",
          "styleLibraryName": "theme-default"
        }
    ]]]

#### 3.3  只引入需要的插件


## 三、 自定義全局組件(插件)

    全局組件(插件):就是指可以在main.js中使用Vue.use()進行全局引入,然後在其他組件中就都可以使用了,如vue-router
        import VueRouter from 'vue-router'
        Vue.use(VueRouter);

    普通組件(插件):每次使用時都要引入,如axios
        import axios from 'axios'


## 四、 Vuex

### 1. 簡介
    Vuex 是一個專爲 Vue.js 應用程序開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
    簡單來說,用來集中管理數據,類似於React中的Redux,都是基於Flux的前端狀態管理框架           

### 2. 基本用法

#### 2.1 安裝vuex
    cnpm install vuex -S

#### 2.2 創建store.js文件,在main.js中導入並配置store.選項

#### 2.3 編輯store.js文件
    Vuex的核心是Store(倉庫),相當於是一個容器,一個store實例中包含以下屬性的方法:
        state       定義屬性(狀態、數據)
        getters     用來獲取屬性
        actions     定義方法(動作)
        commit      提交變化,修改數據的唯一方式就是顯式的提交mutations
        mutations   定義變化
        注:不能直接修改數據,必須顯式提交變化,目的是爲了追蹤到狀態的變化 

#### 2.4 編輯App.vue        
    在子組件中訪問store對象的兩種方式:
        方式1:通過this.$store訪問
        方式2:通過mapState、mapGetters、mapActions訪問,vuex提供了兩個方法:
            mapState    獲取state
            mapGetters  獲取getters
            mapActions  獲取actions

### 3. 分模塊組織Vuex          

    |-src
        |-store
            |-index.js
            |-getters.js
            |-actions.js
            |-mutations.js
            |-modules  //分爲多個模塊,每個模塊都可以擁有自己的state、getters、actions、mutations
                |-user.js
                |-cart.js
                |-goods.js
                |....

day05

## 一、 準備工作

###1. 初始化項目
    vue init webpack itany
    cd itany
    cnpm install
    cnpm install less less-loader -D
    cnpm install vuex axios -S
    npm run dev

### 2. 項目資源
    |-reset.css
    |-data.json

### 3. 創建目錄結構
    首先清除項目中的部分內容

    創建如下目錄結構:
        |-data.json
        |-static
            |-css
                |-reset.css

### 4. 配置API接口,模擬後臺數據
    使用express框架啓動一個Node服務器,配置API接口,模擬後臺數據

    測試API:
     http://localhost:8080/api/seller
     http://localhost:8080/api/goods
     http://localhost:8080/api/ratings


## 二、項目整體結構開發   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章