Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度:9如何从另一个同级组件更改变量?_Angular_Typescript_Data Binding - Fatal编程技术网

Angular 角度:9如何从另一个同级组件更改变量?

Angular 角度:9如何从另一个同级组件更改变量?,angular,typescript,data-binding,Angular,Typescript,Data Binding,我在更新Component1中的字符串变量时遇到问题,在这里我更改了Component2中的值 组件相互独立。Component1的HTML模板中的值不会自行更新 有没有办法强制更新模板?除此之外,我还尝试了:订阅、@Input/@Output——但我可能做得不对。除此之外,我认为我不能在模板(comp2)中包含选择器,因为它将在component1中显示来自component2的html模板。 我希望我错了。请引导我走出我的错误 插图: 看一看 你在正确的轨道上。如果组件之间不是父子关系,那么

我在更新Component1中的字符串变量时遇到问题,在这里我更改了Component2中的值

组件相互独立。Component1的HTML模板中的值不会自行更新

有没有办法强制更新模板?除此之外,我还尝试了:订阅、@Input/@Output——但我可能做得不对。除此之外,我认为我不能在模板(comp2)中包含选择器,因为它将在component1中显示来自component2的html模板。 我希望我错了。请引导我走出我的错误

插图:

看一看


你在正确的轨道上。如果组件之间不是父子关系,那么就没有必要查看
@Input

如果只是需要在同级组件中显示的数据,则使用服务和html绑定。请看这篇博文:


但如果你也需要根据变化做些事情,那么
行为主体
就是一条出路(Soham的答案)。

你们都是对的。这篇文章对我帮助很大!非常感谢你。
// RxJS v6+
import { BehaviorSubject } from 'rxjs';

const subject = new BehaviorSubject(123);

// two new subscribers will get initial value => output: 123, 123
subject.subscribe(console.log);
subject.subscribe(console.log);

// two subscribers will get new value => output: 456, 456
subject.next(456);

// new subscriber will get latest value (456) => output: 456
subject.subscribe(console.log);

// all three subscribers will get new value => output: 789, 789, 789
subject.next(789);

// output: 123, 123, 456, 456, 456, 789, 789, 789