发表于: 2019-10-04 22:36:30
1 783
今天完成的事情:
1.在vuex里面放axios,然后在所有组件都能调用这个单个列表的axios,但是想要在单个页面看一下返回的data应该是在哪里,结果弄不出来,明天问一下别人,此时里面的 context.state.vueData=res.data.data.articleList;是错误的,在组件里想要看一下res后面应该是data的哪里有需要的参数,但是没有弄出来:
import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios';
Vue.use(Vuex);
export default new Vuex.Store({
//state里面只放置全局需要共用的属性
state: {
vueId:0,
vueData:{}
},
//更改 Vuex 的 store 中的状态的唯一方法是提交 mutation,此时里面的必须是同步函数
mutations: {
},
//Action 提交的是 mutation,而不是直接变更状态。并且Action 可以包含任意异步操作。
actions: {
//context是state的父级,这里需要这么写
edit(context){
axios({
method: 'post',
url: `/a/article/${context.state.vueId}`,
})
.then(res=>{
// context.state.vueData=res.data.data.articleList;
console.log(res);
})
.catch(err=>{
console.log(err);
})
}
},
//Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。就像计算属性一样
//getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。
getters: {
}
});
组件:
//测试获取单个列表
adEdit(id) {
console.log(id);
this.axios.get(`/a/article/${id}`)
.then(res=>{
console.log(res);
})
.catch(err=>{
console.log(err);
});
},
然后上面这个用cilck什么动静都没有,也不报错,不知道啥状况,接口如下:
明天计划:
把这个弄出来,让编辑页面和主页面的id同步,用来修改相应id的数据。
评论