我最近做内置离子我的应用程序的搜索是从一个API使用HTTP GET方法如下扩展HTTP GET URL链接点击(离子型2 +角2)
static get parameters() {
return [[Http]];
}
searchRecipes(id) {
var url = 'http://api.yummly.com/v1/api/recipes?_app_id=/////&_app_key=//////&q=' + encodeURI(id);
var response = this.http.get(url).map(res => res.json());
return response;
}
到目前为止拉我有id
这是他们的用户输入。我现在想要添加过滤器我的搜索(配料,美食和过敏),这是通过进一步扩展url与特定的电话,如&allowedAllergy[]
和allowedDiet[]
。
我目前有一个实现的项目列表,例如,每个项目都会设置一个值,然后点击一个项目将添加到提供的URL中。实现是一样http://www.yummly.uk/
<div class="diets">
<ul>
<li>Lacto vegetarian</li>
<li>Ovo vegetarian</li>
<li>PaleoPescetarian</li>
<li>Vegan</li>
<li>Vegetarian</li>
</ul>
</div>
<div class="allergies">
<ul>
<li>Dairy-Free</li>
<li>Egg-Free</li>
<li>Gluten-Free</li>
<li>Peanut-Free</li>
<li>Seafood-Free</li>
<li>Sesame-Free</li>
<li>Soy-Free</li>
<li>Sulfite-Free</li>
<li>Tree Nut-Free</li>
<li>Wheat-Free</li>
</ul>
</div>
搜索方法
食谱:任何;
searchRecipeDB(event, key) {
if(event.target.value.length > 2) {
this.apiAuthentication.searchRecipes(event.target.value).subscribe(
data => {
this.recipes = data.matches;
console.log(data);
},
err => {
console.log(err);
},
() => console.log('Recipe Search Complete')
);
}
}
如果任何人都可以给出如何实施这个建议,那将是一种拯救生命!感谢所有
如果你有任何问题,它是如何工作的,明天问我。 –
嘿,非常感谢你!它的工作方式非常好,我在很大程度上做了什么。然而(你是gunna恨我)我现在有我的搜索和过滤搜索单独工作,因为这可以看到我的**搜索方法**代码在问题中。我试图将其从'this.apiAuthentication.searchRecipes'更改为'this.searchRecipes',但它引发了一个错误,指出**提供的参数不匹配目标**的任何签名调用。基本上,id不是一个数字,而必须是用户在搜索中写入的值。 – BA1995