在Angular App中将多个过滤器值传递给API

时间:2017-12-29 17:45:12

标签: javascript angular typescript

我有一个函数,它接受用户的过滤器选择,然后发出一个请求,过滤根据这些过滤器选择返回的数据。

我遇到的问题是,即使我使用条件逻辑来确定与type value关联的内容,使用我当前的实现,因为只有一个值可以是当用户在第二个过滤器上进行选择(例如,对于位置)时,一次重新调整,先前的值(例如,可能已经用于language)被删除。换句话说,我正在试图弄清楚如何确保我可以堆叠过滤器选择 - 这样语言和位置过滤器值都将传递给API。

也许我可以在对象中创建languagelocation属性?但是,如果我这样做,我怎么然后将这些单独的值传递给API - 期望“语言”和“位置”作为单独的参数传递(您可以在我下面的代码中看到)?那会是什么样的?

这是我目前的功能:

private onFilterReceived(value: any, type: string, page)
{
    let language = '';
    let location = '';
    if (value && type === 'language')
    {
        language = value;
    }
    else if (value && type === 'location')
    {
        location = value;
    }

    let fn = resRecordsData => {
        this.records = resRecordsData;
        let data = resRecordsData.data;
    };

    this.filtersService.getByFilter(page - 1, this.pagesize, this.currentStage, language, location, fn);
}

0 个答案:

没有答案