簡體   English   中英

Angular中的父子通信

[英]Parent and Child communication in Angular

我有兩個問題:

  1. 如果我們將任何變量從父組件發送到子組件,並且比子組件中的任何更改(比如說值更改)。 此更改是否會自動反映在 Parent 組件中? 如果不是,我該如何反映?

  2. 我有一個演示,其中 Parent comp 將數組發送給孩子(孩子具有添加/編輯功能)。 每當我添加或更新任何元素更改時,也會反映在父組件中(我在父模板中顯示列表)。

所以最初我認為我不需要關心將更改發送回父級,因為它已經在工作了。

但是,對於更新,我使用了 2 個變量 editForm 和 edit_id,當我設置 editForm = false 和 edit_id = 0 時,它們也由父級發送給子級。更改未反映在父級中,只有子級變量發生了更改。

所以現在兩者都讓我感到困惑。

這里可能有什么問題? 以下是您可以找到我的代碼的鏈接:

https://stackblitz.com/edit/angular-rw74sc

Angular 與此無關 與JavaScript 是按引用傳遞還是按值傳遞語言有關?

因此,在 java 腳本中,當您復制原始類型(數字、字符串等)時,值將被復制而不是引用本身,但在對象的情況下,引用將被復制並且更改也會反映到父 object。

下面是引用類型和值類型的有趣示例

 var obj={a:10}; var copyObj=obj; obj.a=12; console.log(obj.a);//example of reference type you can see the output will be 12; var a=10; var b=a; b=12; console.log(a);//example of value type here output is still 10

這里還有一個相關的 SO

從孩子到父母有很多溝通方式,例如你可以使用@Output共享服務主題事件發射器

這是一個與孩子父母溝通相關的 SO ans

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM