vue watch 第一次不执行_vue中,watch首次变化不触发问题

在vue项目中,有以下代码:

import * as type from "store/modules/warePublish/type"

export default {

data() {

return {

breadcrumbs: [

{title: "Location"},

{title: "Product Management"},

{title: "Product Creation"}

],

activeStep : 1,

isOpen: false,

}

},

methods: {

saveWarePublishVO() {

this.setIsValidate(!this.isValidate)

let isBasicInfoVoValid = this.basicInfoVO.validateFlag

let isOrdinaryAttrInfoVOValid = this.ordinryAttrbuteInfoVO.validateFlag

this.$store.dispatch(type.SAVE_WARE_INFO)

},

...mapMutations({

setIsValidate: 'SET_VALIDATE',

setAlertConfig: 'SET_ALERT_CONFIG'

})

},

computed: {

...mapGetters([

'isValidate'

'basicInfoVO',

'ordinryAttrbuteInfoVO'

])

}

}

}

点击save的时候,取反vuex中isValidate(默认为false),然后在每一个组件监听watch isValidate,但是在ordiary-info组件中监听不到isValiate的变化,但是如果点击checkbox,再点击save按钮,就可以监听到isValidate的变化,这是什么原因呢?

{{ attribute.propertyName }}:

:id="getId()"

:name="getId(false)"

:class="inputType"

:value="item.propertyValueId"

v-model="checkedIdList"

v-validate="{

required: attribute.required

}"/>

{{ item.valueData }}

:id="getId()"

:name="getId(false)"

:class="inputType"

:value="item.propertyValueId"

v-model="checkedIdList"

v-validate="{

required: attribute.required

}"/>

{{ item.valueData }}

{{ isMore ? 'Less' : 'More'}}

required.

computed: {

...mapGetters([

'isValidate',

'ordinryAttrbuteInfoVO'

])

}

watch: {

isValidate(old, newVal) {

console.log(old, newVal)

})

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值