Angular2创建输入值的新实例

时间:2017-02-11 15:21:20

标签: angular typescript

我有一个盛大的父组件,我将“selectedValue”传递给父组件,如下所示: - Grand Parent Template中的代码

@Component({
  selector: 'grand-parent',
  template: '<parent [details]="selectedValue" ></parent>'
})
export class GrandParentComponent implements OnInit  {
    private selectedValue = 0 ;
    ngOnInit() {
     setTimeout(function() {
      this.selectedValue =+ 1;
      }, 1000);
    }
}

在我的父组件中,我使用循环创建子组件并传递“selectedValue”,如下所示: -

<template ngFor let-tab [ngForOf]="arry" let-i="index">
   <child [details]="selectedValue"></child>
// some more logic
</template>

问题是子组件正在获取selectedValue的最后一个值。 例如,如果我将selectedValue传递为1,2,3。 然后在子组件中,我将在迭代时收到所有三个子组件的details = 3。 我需要一些如何将当前的“selectedValue”传递给他们受尊重的子组件 对于selectedValue的ex为1,2,3。我想要像

这样的东西
<child [details]='1'></child>
<child [details]='2'></child>
<child [details]='3'></child>

不喜欢

<child [details]='3'></child>
<child [details]='3'></child>
<child [details]='3'></child>

有些东西像每个“selectedValue”的新对象。 如何实现这一点,我们对此表示赞赏。

1 个答案:

答案 0 :(得分:0)

这可能没有或没有完全回答你的问题,但

  setTimeout(function() {
    this.selectedValue =+ 1;
  }, 1000);

应该是

  setTimeout(() => {
    this.selectedValue =+ 1;
  }, 1000);

否则this.selectedValue无法引用您的组件类中的selectedValue