Angular2:输入属性的可见性

时间:2017-10-02 06:39:33

标签: angular typescript

我有一个组件父级,它使用input-property调用另一个组件子级。

该属性在childs模板中可用,但在构造函数或OnInit中不可用。这是正常的行为还是我做错了什么?

parent.component.ts

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

@Component({
  selector: "parent",
  template: `<child [name]="'foobar'"></child>`
})

export class ParentComponent
{
}

child.component.ts

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

@Component({
  selector: "child",
  template: "name={{ name }}"
})

export class ChildComponent
{
  @Input () name:string="init";

  constructor ()
  {
    console.log ("constr: " + name);
  }

  ngOnInit ()
  {
    console.log ("oninit: " + name);
  }
}

修改

  • 更正了我的示例并将@Input放在了类中。

  • 将我的示例更改为实际代码。 模板显示“foobar”,控制台显示一个空字符串。

1 个答案:

答案 0 :(得分:1)

更改

console.log ("oninit: " + name);

console.log ("oninit: " + this.name);