Vuex原理和基礎(chǔ)、高級用例和傳參


vue 項目中常用的 2 個 ajax 庫?:vue-resource,

axios

1.

vue-resource

? ? 下載:cnpm install vue-resource --save

????編碼:

// 引入模塊

import VueResource from 'vue-resource'

// 使用插件

Vue.use(VueResource)

// 通過 vue/組件對象發(fā)送 ajax 請求

this.$http.get('/someUrl').then((response) => {

// success callback

console.log(response.data) //返回結(jié)果數(shù)據(jù)

}, (response) => {

// error callback

console.log(response.statusText) //錯誤信息

})


2.axios 的使用

? ? 下載:cnpm install axios --save

編碼:

// 引入模塊

import axios from 'axios'

// 發(fā)送 ajax 請求

axios.get(url)

.then(response => {

console.log(response.data) // 得到返回結(jié)果數(shù)據(jù)

})

.catch(error => {

console.log(error.message)

})

測試接口:

接口 1: https://api.github.com/search/repositories?q=v&sort=stars

接口 2: https://api.github.com/search/users?q=aa

?vuex (

對 vue 應(yīng)用中多個組件的共享狀態(tài)進行集中式的管理(讀/寫)


下載:cnpm install --save vuex


vuex 核心概念和 API

1.state

1)vuex 管理的狀態(tài)對象

2)它應(yīng)該是唯一的

2.mutations

1)包含多個直接更新 state 的方法(回調(diào)函數(shù))的對象

2)誰來觸發(fā): action 中的 commit('mutation 名稱')

3)只能包含同步的代碼, 不能寫異步代碼

3.actions

1)包含多個事件回調(diào)函數(shù)的對象

2)通過執(zhí)行: commit()來觸發(fā) mutation 的調(diào)用, 間接更新 state

3)誰來觸發(fā): 組件中: $store.dispatch('action 名稱', data1) // 'zzz'

4)可以包含異步代碼(定時器, ajax)

4.getters

1)包含多個計算屬性(get)的對象

2)誰來讀取: 組件中: $store.getters.xxx

5.modules

1)包含多個 module

2)一個 module 是一個 store 的配置對象

3)與一個組件(包含有共享數(shù)據(jù))對應(yīng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。