亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

兩層嵌套的dialog修改visible值會修改兩次,該如何解決?

兩層嵌套的dialog修改visible值會修改兩次,該如何解決?

犯罪嫌疑人X 2018-07-10 14:18:13
我的兩層組件分別是最外層父組件,負責子組件層彈框的是否顯示子組件是我自己封裝的彈框組件,我需要父組件控制子組件彈框組件是否顯示,然后子組件也能控制自己的彈框組件是否顯示父組件代碼: 父組件會修改 dialogVisible 的值 <betting-object-dialog :dialog-visible.sync="dialogVisible"></betting-object-dialog>自己封裝的子組件代碼,使用了element的el-dialog組件,子組件會通過事件修改dialogVisibleProp,el-dialog也會在內部修改dialogVisibleProp<template>   <el-dialog title="修改日期時間" :visible.sync="dialogVisibleProp">123</el-dialog> </template> props: ['dialogVisible'], data() {   return {     dialogVisibleProp: this.dialogVisible   } }, watch: {   dialogVisible() {       this.dialogVisibleProp = this.dialogVisible   },   dialogVisibleProp() {       this.$emit('update:dialogVisible', this.dialogVisibleProp)   } },我這么寫了之后,功能可以實現,但是每次修改dialogVisible和dialogVisibleProp都會導致這兩個值互相修改兩次如何解決這個問題呢?謝謝
查看完整描述

1 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

用計算屬性實現吧,邏輯更清晰

 props: {
  dialogVisible: {
    type: Boolean,
        default: false
  },
},
computed: {
  dialogVisibleProp: {
      get() {
            return this.dialogVisible
    },    set(v) {
          this.$emit('update:dialogVisible', v);
    }
  }
}


查看完整回答
反對 回復 2018-07-20
  • 1 回答
  • 0 關注
  • 1839 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號