Vue 尚硅谷 axios、插槽、Vuex

 

安装npm i axios
跨域:
1.cors 2.jsonp script src 解决get请求。post, delete, put无法请求 3.代理vue-cli vue.config.js

 

vue-cli代理缺点:

1.不能配置多个代理

2.默认先读取本地public 文件夹下的接口文件,没有才去调用远程接口,

 

 

 

 

  

 

 

 

 

  

引入全局样式(引入第三方样式)

<link rel="stylesheet" href="<%= BASE_URL %>css/bootstrap.css">

ES6语法
data() {
  return {
    keyWord: ''
  }
}
axios.get(`https://api.github.com/search/users?q=${this.keyWord}`).then

 

axios.get(`https://api.github.com/search/users?q=${this.keyWord}`).then测试项目
this.info = {...this.info, ...dataObj}两个对象比较,相同属性的值覆盖,没有的属性保留。

 

 

 

 

 

slot插槽讲解: 

 

 

 

 

 

 

具名插槽的使用slot

 

 

 

 

 

 

 

 

 template包裹div.vue解析时,自动删除

 

 

 插槽起名

 

 

 只有template才能用v-slot:footer、其他div标签不能用

 

 

作用域插槽:数据在子组件上

父组件页面:页面结构由父组件定义

 

 

 子组件页面:

 

 

 总结插槽

 

 

 

 

 

 

--------------------Vuex-----------------------actions, mutations, state都是有store管理

1.安装插件npm i vuex
2.src目录下创建store目录和index.js文件

引入:
import Vue from 'vue'
import Vuex from 'vuex'
//必须先执行
Vue.set(Vuex)

const actions = {}//处理业务逻辑和远程api调用

const mutations = {}//不处理业务逻辑

const state = {}

const store = new Vuex.Store({
  actions,
  mutations,
  state,
})
export default store
3.创建挂载store对象 import store from './store' new Vue({ el:'#app', render: h => h(App), store, beforeCreate(){ Vue.prototype.$bus = this } })

 

 

 

 

 

store对象

 

 

 actions中的context参数对象

 

 mutations中的state参数对象

 

 

 

 

 

 如果没有业务逻辑,那么可以直接调用commit 进行mutation阶段处理

 

posted on 2022-10-30 22:11  王飞侠  阅读(65)  评论(0编辑  收藏  举报

导航