那么从 axios 内部调用函数呢?
Function call from inside axios then?
如何从 axios 内部调用函数然后下面是我的代码,它不起作用
handleClick(userid){
axios.get(
"http://localhost:4000/user/"+userid+"/items.json")
.then(function (response) {
dispatch(this.buildhtml.bind(response))
})
}
buildhtml(response){
console.log("m called")
}
buildhtml 函数没有执行!!任何想法
您的代码无法正常工作,因为您的 this
在您当前的实现中未定义。
你能试试这个吗?
handleClick(userid){
var self=this;
axios.get(
"http://localhost:4000/user/"+userid+"/items.json")
.then(function (response) {
self.buildhtml.bind(response) // would work
dispatch(self.buildhtml.bind(response)) //wont work
})
}
buildhtml(response){
console.log("m called")
}
现在我看到上面也不起作用,即使你把它改成自己。您正在尝试使用调度。在 dispatch 中你需要传递一个 action. 。 Reducers 将状态和动作作为参数,并根据传递的动作更新状态。
现在一个动作可以return一个对象或一个函数。请过一遍redux的概念。这不是分派动作的方式
在使用Vue.js with axios时,我也遇到了这个问题,但是我就是这样解决的。
let vue = new Vue({
el:#<element>,
methods:{
method1()
{
axios.post('<url>',{<data>})
.then( ( res ) => {
this.method2(res) // method call to method2
} )
.catch( ( err ) => { <call> } );
},//method1 end
method2(res){
// statements
}
}
});
参考this.
如何从 axios 内部调用函数然后下面是我的代码,它不起作用
handleClick(userid){
axios.get(
"http://localhost:4000/user/"+userid+"/items.json")
.then(function (response) {
dispatch(this.buildhtml.bind(response))
})
}
buildhtml(response){
console.log("m called")
}
buildhtml 函数没有执行!!任何想法
您的代码无法正常工作,因为您的 this
在您当前的实现中未定义。
你能试试这个吗?
handleClick(userid){
var self=this;
axios.get(
"http://localhost:4000/user/"+userid+"/items.json")
.then(function (response) {
self.buildhtml.bind(response) // would work
dispatch(self.buildhtml.bind(response)) //wont work
})
}
buildhtml(response){
console.log("m called")
}
现在我看到上面也不起作用,即使你把它改成自己。您正在尝试使用调度。在 dispatch 中你需要传递一个 action. 。 Reducers 将状态和动作作为参数,并根据传递的动作更新状态。
现在一个动作可以return一个对象或一个函数。请过一遍redux的概念。这不是分派动作的方式
在使用Vue.js with axios时,我也遇到了这个问题,但是我就是这样解决的。
let vue = new Vue({
el:#<element>,
methods:{
method1()
{
axios.post('<url>',{<data>})
.then( ( res ) => {
this.method2(res) // method call to method2
} )
.catch( ( err ) => { <call> } );
},//method1 end
method2(res){
// statements
}
}
});
参考this.