Javascript Can';不要在数据中使用计算属性
我的数据中有一个数组:Javascript Can';不要在数据中使用计算属性,javascript,vue.js,vuejs2,vue-component,vue-reactivity,Javascript,Vue.js,Vuejs2,Vue Component,Vue Reactivity,我的数据中有一个数组: data () { return { steps: [ { disabled: this.someCheck } ] } } 以及计算属性: computed: { ...mapGetters({ getFinishedSteps: 'jobFound/getFinishedSteps' }), someCheck () { let x = true for (cons
data () {
return {
steps: [
{
disabled: this.someCheck
}
]
}
}
以及计算属性:
computed: {
...mapGetters({
getFinishedSteps: 'jobFound/getFinishedSteps'
}),
someCheck () {
let x = true
for (const val of this.getFinishedSteps) {
if (val === ('address_information' || 'contact_information' || 'financiel_information' || 'identity_information')) {
x = false
}
}
return x
}
}
以及模板:
以及ProgressContent组件:
props: {
step: {
type: Object,
default: () => ({
disabled: false
})
},
}
我想将
someCheck
computed属性的返回值传递到数据中的disabled
值中,但在ProgressContent
组件中,disabled
值不在那里(它是空的)。数据初始化时,不能将计算值分配给数据属性。即使你可以,它也不会是反应性的,它只会发生一次。如果计算值更改,则数据属性不会更改
您可以创建步骤
,作为计算:
计算:{
…地图绘制者({
getFinishedSteps:'jobFound/getFinishedSteps'
}),
someCheck(){
// ...
},
步骤(){
return[{disabled:this.someCheck}]
}
}
或者你可以用手表:
data(){
返回{
步骤:[{已禁用:null}]
}
},
计算:{
…地图绘制者({
getFinishedSteps:'jobFound/getFinishedSteps'
}),
someCheck(){
// ...
}
},
观察:{
一些检查:{
处理程序(newValue){
此。步骤[0]。已禁用=newValue;
},
立即:对
}
},