2017-05-11 60 views
-1

通行證數據我想從parent控制器傳遞數據到child控制器,當一個元件上的用戶click現有的parent角2 - 從一個控制器到另一個

例如,

<div (click)="PassDataToChild(orderNo)"></div> 

.TS

PassDataToChild(orderNo){ 
//Got the orderNo 
//How to send it to the child component, and let the child read it? 
} 
+1

孩子應該不知道父組件什麼。這聽起來像你在這裏有一個設計問題。所有組件都應該應用單一責任主體。 –

+0

子組件是什麼樣的?你通常不需要一個函數傳遞給孩子,只要確保孩子正在接受一個匹配父類的'ng-model'的屬性...... – Claies

+0

@Claies @Jamie R我只想通過從組件A到B的一條信息,我已經在'Ionic 2'上做了這個,很容易知道這是基於Angular2;然而,我無法弄清楚如何在Angular中做到這一點! –

回答

-1

您可以使用@Input()裝飾從父數據傳遞給孩子。

代碼附加以下

import {Component, Input} from '@angular/core'; 

@Component({ 
    selector: 'child-comp', 
    template: '<div>{{orderNo}}</div>' 
}) 

export class Child { 
    @Input() orderNo: string; 
} 



import {Component} from '@angular/core'; 

@Component({ 
    selector: 'parent-comp', 
    template: '<div (click)="PassDataToChild()"></div> <child-comp [orderNo]="orderNo"></child-comp>' 
}) 

export class Parent { 
    orderNo: string; 

    PassDataToChild() { 
     this.orderNo = 'Dummy Order'; 
    } 
} 
+0

我不知道爲什麼這會得到downvoted,它看起來像一個有效的答案給我... – Claies

+0

是的,即使我同意你的觀點。普遍而有效的問題。 –

相關問題