Vue.js 如何从方法更改计算的 属性?
Vue.js how to change computed property from a method?
例如,我有一个带有 属性 :disabled="isDisabled"
的按钮
其中 isDisabled
是计算得出的 属性,returns 是一个布尔值。
此外,在代码中,我有一个方法,我想从中更改计算的 属性 值。例如,在执行某些操作(例如向服务器发送请求)时,我想让一个按钮处于非活动状态。但是后来我想让计算的 属性 完成他们的工作,以防在其权限范围内应用任何操作。所以我想明确地重新定义计算 属性.
返回的值
<button
type="submit"
class="btn btn-primary"
:disabled="isDisabled"
@click.prevent="submitted"
>
computed: {
isDisabled: function() {
//... some code
return true
}
}
解决这个问题的正确方法是什么?谢谢。
正如我在评论中提到的,您通常希望计算 属性 只处理一项工作。如果您添加一个数据 属性 专门处理您的飞行中的 http 请求并同时使用两者,您就可以对禁用状态进行细粒度控制。
<button
type="submit"
class="btn btn-primary"
:disabled="isDisabled || isLoading"
@click.prevent="submitted"
data: function () {
return {
isLoading: false
}
},
computed: {
isDisabled: function() {
//... some code
return true
}
},
methods: {
makeHttpCall: function () {
this.isLoading = true
axios
.get('url')
.finally(function () {
this.isLoading = false
})
}
}
例如,我有一个带有 属性 :disabled="isDisabled"
的按钮
其中 isDisabled
是计算得出的 属性,returns 是一个布尔值。
此外,在代码中,我有一个方法,我想从中更改计算的 属性 值。例如,在执行某些操作(例如向服务器发送请求)时,我想让一个按钮处于非活动状态。但是后来我想让计算的 属性 完成他们的工作,以防在其权限范围内应用任何操作。所以我想明确地重新定义计算 属性.
<button
type="submit"
class="btn btn-primary"
:disabled="isDisabled"
@click.prevent="submitted"
>
computed: {
isDisabled: function() {
//... some code
return true
}
}
解决这个问题的正确方法是什么?谢谢。
正如我在评论中提到的,您通常希望计算 属性 只处理一项工作。如果您添加一个数据 属性 专门处理您的飞行中的 http 请求并同时使用两者,您就可以对禁用状态进行细粒度控制。
<button
type="submit"
class="btn btn-primary"
:disabled="isDisabled || isLoading"
@click.prevent="submitted"
data: function () {
return {
isLoading: false
}
},
computed: {
isDisabled: function() {
//... some code
return true
}
},
methods: {
makeHttpCall: function () {
this.isLoading = true
axios
.get('url')
.finally(function () {
this.isLoading = false
})
}
}