我有三个组成部分:父母(P)和两个孩子(C1)和(C2) (他们是 P 组件的两个孩子,他们没有嵌套) 在父模板中,它看起来像
<c1-component></c1-component>
<c2-component></c2-component>
我在myVar
(数字)中有一个变量C1
,我想在C2
组件中减少和增加,并将此变量的新值返回给C1
(所以,我想传递的不是函数,而是变量)。我怎样才能将此变量从C1
传递给C2
?
我想在没有共享服务的情况下解决这个问题。
答案 0 :(得分:1)
您可以使用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;