如何从孩子传递变量孩子Angular2
问题描述:
我有三个组成部分:父(P)和两个孩子(C1)和(C2) (他们是P成分的儿童和他们没有父模板嵌套) 它看起来像如何从孩子传递变量孩子Angular2
<c1-component></c1-component>
<c2-component></c2-component>
我有一个变量myVar
在C1
(号),我想减少和增加在C2
组件中,并将此变量的新值返回到C1
(所以,我想传递的不是函数,而是变量)。我怎么能通过这个变量从C1
到C2
? 我想在没有共享服务的情况下解决这个问题。
答
您可以使用EventEmitter将变量从child1发送到父级。将其捕获为父代中的输入,然后将其传递给选择器中的child2。
儿童1:
import { Output } from '@angular/core';
@Output() testVariable = new EventEmitter();
捕捉内亲和在父HTML发射:
<c2-component [testVariable]="testVariable"></c2-component>
儿童2:
import { Input} from '@angular/core';
@Input() testVariable;
可以尝试像 。 (out)表示使用事件发射器的输出参数。 #temp2是一个模板引用变量。在组件子2中创建组件变量var。 –
ashley