我有一个盛大的父组件,我将“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”的新对象。 如何实现这一点,我们对此表示赞赏。
答案 0 :(得分:0)
这可能没有或没有完全回答你的问题,但
setTimeout(function() {
this.selectedValue =+ 1;
}, 1000);
应该是
setTimeout(() => {
this.selectedValue =+ 1;
}, 1000);
否则this.selectedValue
无法引用您的组件类中的selectedValue
。