如何在子组件中显示父组件属性[angular2]

时间:2016-02-20 05:04:17

标签: angular

我希望给定的组件能够引用其父组件。实际上,我有一些应用程序状态(用户选择的选项),我希望能够在应用程序中的任何位置使用它。哪个是最好的模式:a)引用组件的父组件上的属性或b)以某种方式使应用程序状态全局可用于所有组件。这看起来怎么样?

3 个答案:

答案 0 :(得分:2)

如果需要在整个应用程序中共享某些内容,最好将其封装到服务中并在引导过程中进行注册。

export class AppService {
  private _state:any;
  set(state){
   this.state=state;
  }
  get() {
   return this._state
  }
}

在bootstrap期间注册

bootstrap(App,[AppService]);

并将其注入Parent和Child组件中。家长致电set并致电get

如果状态只是组件的本地状态,那么您可以使用简单的属性绑定输入,如@Sasxa指出的那样。

答案 1 :(得分:1)

您可以通过属性绑定/输入属性将值从父级传递给子级,如下所示:

<parent>
  <child [state]="value">

class Parent {
  public value = 123;
}

class Child {
  @Input() state;
  ngOnInit() {
    console.log(state);
  }
}

对于b),我强烈推荐@ngrx/store

答案 2 :(得分:0)

我会看到几种方法: