【发布时间】:2017-08-12 18:36:57
【问题描述】:
事情就是这样。我有两个组件需要交换数据。 假设组件 1 和组件 2。
在组件 1 中,我有变量图和方法 loadGraph
graph: any = new joint.dia.Graph;
loadGraph(objectName, objectName2, objectCol1, objectCol2) {
this.graph.fromJSON({... })
}
在组件 2 中,我正在调用该方法
this.edit.loadGraph(objectName, objectName2, objectCol1, objectCol2);
现在,当我返回组件 1 并尝试记录图形变量时,它没有设置为任何值。这意味着组件 2 没有向组件 1 传递任何数据。
我正在使用 Provider 与组件进行通信。在组件 2 中,我有这个:
import {Component1} from '....something';
@Component({
selector: '...',
templateUrl: '...',
styleUrls: ['...'],
providers: [Component1]
})
export class Component2 implements OnInit {
constructor(private edit: Component1) {
};
}
我可能需要 Child - Parent 组件作为我的解决方案?如果是这样,我的两个组件会是什么样子?
【问题讨论】:
-
也许这是一个冗长的答案,但看看@Input()
-
Component2是Component1的子组件,还是这两个组件处于同一级别? -
@ulubeyn 不,Component1 是 Component2 的子级。至少我认为是,我在 Component2 模板中使用 Component1 Selector。所以应该是孩子吧?
标签: angular angular2-components