不使用“设置”就无法访问角度输入变量

时间:2018-08-30 11:02:23

标签: angular angular6

我是Angular的新手,我无法理解这里发生的事情。我有两个组件A和B,我希望将一些数据从A传递到B。在组件A中,我的代码如下:

import { Component, Input } from '@angular/core';

@Component({
  selector: 'comp-a',
  template: `<comp-b [var_x]="var_x"></comp-b>`
})
export class ParentComponent {
  // Info to send to Component B
  var_x: any = 'something'
}

然后在组件B中,我有类似的东西:

import { Component, Input } from '@angular/core';

@Component({
  selector: 'comp-b',
  template: `Info from Component A: {{var_x}}`
})
export class ChildComponent {
  @Input() var_x: any;
}

问题是,该代码无法正常工作。我看不到var_x的值。我得到undefined。但是,当我用$Input()代替下面的代码时,我可以获得var_x的值。

var_x: any;

@Input() set var_x(_var_x: any) {
    this.var_x = _var_x;
}

我ed了head为什么会这样。我所有的进口货都不错。我无法为自己的生活弄清楚哪里出了问题,我希望外面有人可以帮助我。谢谢大家!

1 个答案:

答案 0 :(得分:0)

什么是角度CLI中的错误,同样,您的组件选择器必须在单引号之内,例如:选择器:'comp-b',您所拥有的是选择器:comp-b'