我有一项服务,该服务允许组件将其过滤器分配给其中的一个值,以实现数据永久保留。有两个变量createFilters
和manageFilters
分别归因于它们各自的路由,并且其中包含三个功能:setFilters
,getFilters
和setAllFilters
。 / p>
setAllFilters
用于在两个路由中选择父过滤器类别时将两个变量分配给同一数组。但是,一旦调用此函数,则每当我使用setFilters
之后,该函数仅应将一个变量分配给一个数组,就会将传递的数组设置为两个值。
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { ItemService } from './item';
import { SetService } from './set';
import { ApplicationStorage, Store } from '../store';
@Injectable()
export class FiltersService {
public createFilters = [];
public manageFilters = [];
constructor(
private itemService: ItemService,
private setService: SetService,
private applicationStorage: ApplicationStorage
) { }
public setFilters(filtersArray, mode) {
if (mode === 'create') {
this.createFilters = filtersArray;
}
else if (mode === 'manage') {
this.manageFilters = filtersArray;
}
}
public setAllFilters(filtersArray) {
this.createFilters = filtersArray;
this.itemService.searchItems(this.createFilters).subscribe();
this.manageFilters = filtersArray;
this.setService.searchSets(this.manageFilters).subscribe();
}
public getFilters(mode) {
if (mode == 'create') {
return this.createFilters;
} else if (mode == 'manage') {
return this.manageFilters;
}
}
}
这是我不熟悉的标准行为吗?我不知道为什么会将createFilters
和manageFilters
设置为彼此。