gpt4 book ai didi

javascript - Angular2/Firebase - Array1 等于 array2 而不将它们绑定(bind)在一起

转载 作者:行者123 更新时间:2023-12-01 02:18:48 25 4
gpt4 key购买 nike

抱歉,我发现很难正确表达我遇到的问题..

我有一个名为 feedCounter 的数组和一个名为 postFeed 的数组。我想显示 feedCounter 的长度当用户点击它时 postFeed等于 feedCounter ,但是当 feedCounter获取一个新元素 postFeed不应该用它更新...

我正在做的是设置 feedCountersnapshot在火力基地:

this.subscription.on('child_added', (snapshot) => {
this.feedCounter.push(snapshot.val());
});

然后在我的 html 中我这样做:

<div (click)="postFeed = feedCounter;">{{feedCounter?.length}}</div>
<post *ngFor="let post of postFeed.reverse()"></post>

问题是,postFeed似乎被绑定(bind)到 feedCounter第一次点击 divpostFeed自动更新,这是我不想要的..

我该如何解决这个问题?谢谢!

最佳答案

根本原因是您分配了 postFeed = feedCounter;,因此两个变量都将引用同一数组并向 feedCounter 添加新元素,就像向 postFeed 添加新元素一样。要分离它们,您应该在分配之前克隆它,如下所示: postFeed = feedCounter.slice(0);

关于javascript - Angular2/Firebase - Array1 等于 array2 而不将它们绑定(bind)在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49343992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com