angular - 如何通过角度服务将数据从表单(输入)传递到另一个组件
问题描述
我有 2 个组件,想获取一种形式的输入并将它们作为数据传递给另一个组件。
组件 1:
this.dal = this.form_search.get('dal').value;
this.service.passDataR(this.dal);
服务:
public S = new Subject<any>();
passData$ = this.S.asObservable();
组件 2:
this.service.passDataR$
.subscribe(
result => {
console.log('data 1 lista here', result);
}
);
这应该通过服务来完成,因为这些组件没有任何关系。
问题是,当我将服务表单 comp1 调用为 comp3 时,它就可以了。但是当从 comp3 调用 comp1 数据时是未定义的。所以我无法看到第一个 comp 输入的结果。
解决方案
您是否尝试过使用 BehaviourSubject 代替?这样,您可以设置初始值
public passRepartiSource = new BehaviorSubject(/*value*/);
推荐阅读
- swift - 无法在 iPad 上对齐 TabBar 项目
- com - 如果我不发布 WICFactory(IWICImagingFactory*),会发生什么?
- view - 我下载了水晶视图报告,但是当我打开 vs 应用时我找不到它?
- flutter - 如何根据系统暗模式或颤动中的onclick事件更改主题模式和主题颜色
- react-native - 尝试在本机反应中使用历史推送时如何修复空白页面
- php - 优化 Laravel 查询 - 从 24 个查询到只有 1 个使用收集方法
- c# - 时间:2019-04-01 标签:c#mongodb database collection find
- graphviz - 带有 Graphviz 的分层状态机
- sql - 在 sql server 中未按预期实现使用 round 函数的截断
- arrays - 对象数组未在我的数组状态中正确插入