【发布时间】:2017-07-02 02:39:02
【问题描述】:
我在父组件中有以下标记
....
<div class="container-fluid">
<claims :userID="userId"></claims>
<claimForm :claimID="claimId" v-if="isDistributor"></claimForm>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="row">
<display :claimID="claimId"></display>
...........
data(){ return { claimId: null } },
beforeMount(){
this.userId = this.isDistributor? this.currentUser.id: null
this.eventEmitter.$on('claim.details', function(id) {
this.claimId = id
})
}
然后在称为<display>的子组件中
, watch: {
.....
claimID: function(n) {
console.log('claim');
if(n == null) return false
this.getClaimById()
}
.....
当事件总线this.eventEmitter.$emit() 被发射时,父组件数据claimdId 被更新但是子组件的claimID 属性似乎没有被更新,因此“监视”没有被触发。
什么会导致属性不更新?
【问题讨论】:
标签: vuejs2 vue-component vue.js