在vue框架里添加bootstrap与axios
创建vue项目(已经安装了nodejs,vue@cli)
vue create vuedemo
在vue项目里添加bootstrap
 cnpm install bootstrap bootstrap-vue -S
在src/main.js添加
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'
import BootstrapVue from 'bootstrap-vue'
Vue.use(BootstrapVue)
注意: 如果报错,则放在main.js的开头
实例 (About.vue)
  
    
      
    
    
  
结果
在vue项目里添加axios
cnpm install axios -S
如果是vue2
在main.js添加
import axios from 'axios'
Vue.prototype.$axios = axios      # 这是把axios全局注册 以后可以this.$axios来访问
如果是vue3
则只需要在要使用的地方引用axios库
因为:
vue2里面是用new Vue()来创建vue实例
vue3里面是用createapp()来创建vue实例
实例 (About.vue)
结果
axios与store的联合
store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'
Vue.use(Vuex)
export default new Vuex.Store({
  state: {
    // 初始化数据,只要有可能的用到的最好都初始化
    text: {name: 'xxx'},
    data: {},
  },
  //getters可以认为是store的计算属性
	getters: {
		data(state) {
			return state.data
		}
  },
  //存放同步函数方法
  mutations: {
    // store中的数据只能通过commit mutation来改变
    changeData (state, obj) {
      state.data = obj
    }
  },
  //存放异步函数方法
  actions: {
    // 封装一个ajax方法
    saveForm (context) {
      axios.get('https://jsonplaceholder.typicode.com/posts').then(res => {  // 调用接口
        // console.log(res.data)
        // console.log('---------')
        context.commit('changeData', res.data)  // 通过接口获取的后台数据保存到store中,等待组件取用
      })
    },
    //async异步
    async getTodos({commit}) {
      const result = await axios.get('http://jsonplaceholder.typicode.com/todos?_limit=10');
      // console.log(result)
      // console.log('-------------')
      commit('changeData', result.data);
     }
  },
  modules: {
  }
})
About.vue
{{data}}
import {mapState,mapGetters} from 'vuex'
computed:mapGetters(['data']),
methods:{
    getDataVuex () {
      // this.$store.dispatch('saveForm');   // 触发actions里的saveForm函数,调动接口
      this.$store.dispatch('saveForm').then(res => {   // 回调函数是箭头函数
            console.log(this.a);  // --> 123
            // console.log(res)
            // console.log(this.$store.state.data)
            console.log(this.$store.getters)
        })
    },
    getDataVuex1 (){
      this.$store.dispatch('getTodos')
      console.log(this.$store.getters)
    }
}
结果
注: JSONPlace 持有人是一个免费的在线 REST API,您可以在需要一些假数据时使用。它非常适合教程、测试新库、共享代码示例...
httpbin.org A simple HTTP Request & Response Service.