Javascript 如何在Angular2中从一个子变量传递到另一个子变量

Javascript 如何在Angular2中从一个子变量传递到另一个子变量,javascript,angular,typescript,Javascript,Angular,Typescript,我有三个部分:父母(p)和两个孩子(C1)和(C2) (它们都是P成分的子项,并且不是嵌套的) 在父模板中,它看起来像 <c1-component></c1-component> <c2-component></c2-component> 我在C1中有一个变量myVar(数字),我希望在C2分量中减少和增加该变量,并将该变量的新值返回给C1(因此,我希望传递的不是函数,而是变量)。如何将此变量从C1传递到C2? 我希望在不使用共享服务的情况下

我有三个部分:父母(p)两个孩子(C1)(C2) (它们都是P成分的子项,并且不是嵌套的) 在父模板中,它看起来像

<c1-component></c1-component>
<c2-component></c2-component>

我在
C1
中有一个变量
myVar
(数字),我希望在
C2
分量中减少和增加该变量,并将该变量的新值返回给
C1
(因此,我希望传递的不是函数,而是变量)。如何将此变量从
C1
传递到
C2

我希望在不使用共享服务的情况下解决此问题。

您可以使用EventEmitter将变量从child1发送到父级。将其作为父级中的输入捕获,然后将其传递给选择器中的child2

儿童1:

import { Output } from '@angular/core';
@Output() testVariable = new EventEmitter();
在父html中捕获并在父html中发出:

<c2-component [testVariable]="testVariable"></c2-component>

你可以这样试试。(out)使用事件发射器表示输出参数#temp2是一个模板引用变量。在组件子级2中创建组件变量var。请解释为什么这被否决?它在我自己的解决方案中工作。ThanksI没有投反对票,但我相信这与你回答了一个标记为重复的问题有关,你可以阅读如何处理重复的问题:@Wilcko这个解决方案很好,它是一个不同的解决方案,谢谢
import { Input} from '@angular/core';
@Input() testVariable;