如何在Angular2中将变量从孩子传递给孩子

Ann*_*a F -1 javascript typescript angular

我有三个组件:父模板中的父模板(P)两个子组件(C1)(C2) (它们都是P组件的组件,它们没有嵌套),它看起来像

<c1-component></c1-component>
<c2-component></c2-component>
Run Code Online (Sandbox Code Playgroud)

myVarC1(number) 中有一个变量,我想减少和增加C2组件并将该变量的新值返回给它C1(因此,我想传递的不是函数,而是变量)。我怎么能把这个变量从C1to传递过来C2?我想在没有共享服务的情况下解决这个问题。

Wil*_*cko 5

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

孩子 1:

import { Output } from '@angular/core';
@Output() testVariable = new EventEmitter();
Run Code Online (Sandbox Code Playgroud)

在父级中捕获并在父级 html 中发出:

<c2-component [testVariable]="testVariable"></c2-component>
Run Code Online (Sandbox Code Playgroud)

孩子2:

import { Input} from '@angular/core';
@Input() testVariable;
Run Code Online (Sandbox Code Playgroud)