【问题标题】:Passing data between angular components在角度组件之间传递数据
【发布时间】:2020-09-12 03:01:12
【问题描述】:

我有component1,它导入component2并使用它的功能。 这个函数从component2调用对话窗口。

export class component1 implements OnInit {
  @Output() testVar= new EventEmitter();

    openDialog(){
    this.testVar.emit(200); 
    const dialogRef = this.dialog.open(Component2, {

现在我想以某种方式将变量发送到该组件。因此,当第二个组件 OnInit 可以获取我的变量时,类似于

export class Component2 implements OnInit {
 @Input() testVar;

somefunc() {
onUpload(testVar) {
  console.log(testVar) ;
}

你能写一些例子或给我链接吗?问题是我想在没有 html 的 .ts 文件之间执行此操作。

【问题讨论】:

    标签: angular emit


    【解决方案1】:

    您可以在dialog.open(Component2, { data: {testVar:'Hello'}}) 中传递https://material.angular.io/components/dialog/api#MatDialogConfig

     export class Component2 implements OnInit {
          constructor(  @Inject(MAT_DIALOG_DATA) public data: {testVar:string})
    
         somefunc() { 
             console.log(this.data.testVar) ;
          }
    

    【讨论】:

    • constructor(@Inject(MAT_DIALOG_DATA) 公共数据:{testVar:string}) > 找不到名称 MAT_DIALOG_DATA
    • @David:你导入了吗? import { MAT_DIALOG_DATA } from '@angular/material';
    猜你喜欢
    • 2019-08-27
    • 1970-01-01
    • 2018-03-13
    • 2019-09-25
    • 2017-01-12
    • 2020-04-22
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    相关资源
    最近更新 更多