抱歉,我很难说出我遇到的问题。
我有一个名为feedCounter
的数组和一个名为postFeed
的数组。我想显示feedCounter
的长度,当用户单击它时,postFeed
等于feedCounter
,但是当feedCounter
获取新元素时,postFeed
不应该使用它更新...
我正在做的是将feedCounter
设置为firebase中的snapshot
:
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
时,feedCounter
似乎已绑定到div
,而我不希望自动更新。我怎样才能解决这个问题?谢谢!
最佳答案
根本原因是您分配了postFeed = feedCounter;
,因此两个变量都将引用同一数组,并向feedCounter添加新元素,与向postFeed添加新元素相同。要分离它们,您应该在分配之前克隆它,如下所示:postFeed = feedCounter.slice(0);
关于javascript - Angular2/Firebase-Array1等于array2而不将它们绑定(bind)在一起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49343992/