数组值不同步-Javascript
我有以下推送警报的代码。但有趣的是,当它通过closeAlert()时,showAlert()中的this.alerts和local alerts在产生差异后不会同步这些值数组值不同步-Javascript,javascript,arrays,Javascript,Arrays,我有以下推送警报的代码。但有趣的是,当它通过closeAlert()时,showAlert()中的this.alerts和local alerts在产生差异后不会同步这些值 public showAlert(containerName: string, alertType: string, message: string, dismissTimeout?: number): void { var alerts = this.alerts; var alert = <ICu
public showAlert(containerName: string, alertType: string, message: string, dismissTimeout?: number): void {
var alerts = this.alerts;
var alert = <ICustomAlert>{
dismissTimeout: dismissTimeout,
message: message,
type: alertType,
container: containerName
};
if (_.findWhere(alerts, <ICustomAlert>{ message: message, type: alertType, container: containerName })) {
this.closeAlert(containerName);
}
alerts.push(alert);
}
public closeAlert(containerName: string = "default", index?: number): void {
var alerts = this.alerts;
var withoutList = _.where(alerts, { container: containerName });
if (angular.isDefined(index)) {
withoutList = withoutList.splice(index, 1);
}
this.alerts = _.difference(alerts, withoutList);
}
我想了解为什么当我们只使用alerts.push-in showAlert()时阵列没有同步。谢谢
this.alerts.push(alert);