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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么在子組件上面刪除一項需要采用訂閱發布模式通知父組件呢?直接在子組件上面刪除不就行了嗎?

如題,比如我要刪除子組件的一項,那一項是由父組件的list里面傳遞過來的,需要采用訂閱發布模式通知父組件才可以刪除,那為什么我在這一項上添加一個click事件彈出字符串(例如:alert'hello world')則不需要通知父組件呢?

正在回答

3 回答

這么想吧 其實無論父組件還是子組件,它們都只是對應著一個dom節點而已。list中的每個<li>其實都是一個dom子節點,想刪除這些動態生成的子節點,按js的邏輯,得先找到父dom節點,才能定位到子節點本身。而彈出事件本身就不是個節點,無需定位,也就不需要通知其他節點了。

0 回復 有任何疑惑可以回復我~
#1

明明的明天12 提問者

彈出事件是直接綁定在list中的每一個<li>上的,就類似于直接綁定在父組件上了,無需通知,這樣理解對不對?
2018-10-16 回復 有任何疑惑可以回復我~
#2

千里明月 回復 明明的明天12 提問者

呃...其實所謂vue,react什么的框架,其根本都只是利用js對html的dom節點進行操作而已,想要操作dom節點就要找到該dom節點,所有才有class、id、tag這些選擇器,但是對于動態生成的list下的li節點,它們是沒有事先聲明選擇器的,而list節點是被組件化了,就是相當于聲明了選擇器,所以可以通過定位到list節點進而對其子節點進行操作(刪除)??墒莑i子節點的點擊彈出事件,是不需要這個定位流程的,因為不需要鎖定dom節點啊也不用操作,所謂彈出事件,只是對瀏覽器行為的一個調用而已。我是基于這個層面去理解的哦,不保證一定對的哈
2018-10-16 回復 有任何疑惑可以回復我~
#3

明明的明天12 提問者 回復 千里明月

那照這樣說是點擊彈出事件是鎖定了組件而不需鎖定dom節點
2018-10-16 回復 有任何疑惑可以回復我~

刪除list數組的值,在子組件的方法調用父組件的實例.list.splice(index,1)就可以實現,我理解的,老師采取向父組件傳值的方式刪除對應的list值,是為了向我們展示子組件向父組件傳值和父組件向子組件傳值的方式.能夠理解監聽,綁定,訂閱,發布的理解

0 回復 有任何疑惑可以回復我~

彈出事件是直接綁定在list中的每一個<li>上的,就類似于直接綁定在父組件上了,無需通知,這樣理解對不對

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么在子組件上面刪除一項需要采用訂閱發布模式通知父組件呢?直接在子組件上面刪除不就行了嗎?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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