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;
},
立即:对
}
},