在两个不同的 angular2 组件之间传递值?



设计:

我们有两个角度的 2 个组件,比如 CompA 和 CompB。当 CompB 的 HTML 初始化时,CompA 应该会自动初始化。CompB 中有一些值(公共),我们希望在 CompA 中使用。此外,我们在 CompB 中注入了依赖关系 CompA。

问题:

我看到很多使用"@output"标签和"发射器"的文档,但我能够通过 CompA.V1 访问公共变量,比如 CompB 中的 V1。 这就解决了问题。

但这甚至允许吗?为什么没有文档谈论它?这是访问敏感信息的安全方式吗?

为什么需要这样的模式来用另一个组件来初始化一个组件? 如果要求只是获取其他属性的访问权限,则可以使用以下代码片段。

一个组件

export class AComponent implements OnInit {
testProperty: any[] = [5, 4, { id: 34 }, false];
constructor() { }
ngOnInit() {
console.log('a init');
}
}

B 组件

import { AComponent } from '../a/a.component';
export class BComponent implements OnInit {
componentRef:AComponent;
constructor() { 
this.componentRef = new AComponent();
}
ngOnInit() {
console.log(this.componentRef.testProperty);
this.componentRef.ngOnInit();
}
}

相关内容

  • 没有找到相关文章

最新更新