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)