这两个是等价的(我相信):
@ViewChildren(RoundedContainerComponent) roundedContainers!: QueryList<RoundedContainerComponent>;
private rounded = toObservable(contentChildren(RoundedContainerComponent))
我可以调用查询列表进行更改
this.roundedContainers.changes
.pipe(
takeUntilDestroyed(this.destroyRef),
)
.subscribe(t => {
this.scrollToContainer('-86.0px')
})
我怎样才能对 this.rounded (这应该是一个可观察的)做同样的事情。 “更改”不可访问,只能通过管道和订阅。
这在初始化时不起作用
this.rounded
.pipe(
takeUntilDestroyed(this.destroyRef),
)
.subscribe(t => {
this.scrollToContainer('-86.0px')
})
为什么不尝试使用 viewchildren 信号呢
roundedContainers = viewChildren<RoundedContainerComponent>(
RoundedContainerComponent);
private rounded$ = toObservable(this.roundedContainers);
然后就可以直接订阅更改了
this.rounded$
.pipe(
takeUntilDestroyed(this.destroyRef),
)
.subscribe(t => {
this.scrollToContainer('-86.0px')
})