gpt4 book ai didi

javascript - vue资源-动态判断http方法

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:41 24 4
gpt4 key购买 nike

我想动态确定适当的 http 方法并进行单个 api 调用。但是,当我调用该方法时抛出异常。

我希望我做错了什么,而不是这是一个 vue-resource 错误。有人有什么建议吗?谢谢

例如:

let method = this.$http.post

if (this.model.id) {
method = this.$http.put
}

method(
this.url,
this.model,
options
).then(response => {
this.$router.push(this.redirect_to)
}).catch(response => {
console.log(`Error: ${response.statusText}`)
})

抛出 javascript TypeError 消息“这不是一个函数”


下面的代码有效,但有点冗长。

if (this.model.id) {
this.$http.put(
this.url,
this.model,
options
).then(response => {
this.$router.push(this.redirect_to)
}).catch(response => {
console.log(`Error: ${response.statusText}`)
})

} else {
this.$http.post(
this.url,
this.model,
options
).then(response => {
this.$router.push(this.redirect_to)
}).catch(response => {
console.log(`Error: ${response.statusText}`)
})
}

最佳答案

您需要将函数绑定(bind)到当前上下文。

let method = this.model.id ? this.$http.put.bind(this) : this.$http.post.bind(this)

或者只使用索引器方法。

let method = this.model.id ? 'put' : 'post'
this.$http[method](...).then(...)

关于javascript - vue资源-动态判断http方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45804437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com