Javascript 基于if语句获取
我有一些从chuck norris api获取数据的演示应用程序。 我将变量添加到表示笑话类别的端点-Javascript 基于if语句获取,javascript,vue.js,Javascript,Vue.js,我有一些从chuck norris api获取数据的演示应用程序。 我将变量添加到表示笑话类别的端点- fetchJoke: function() { fetch( `https://api.chucknorris.io/jokes/random?category=${this.selectedCat}` ) .then(response => { return response.json(); }) .then(jsonOBj =>
fetchJoke: function() {
fetch(
`https://api.chucknorris.io/jokes/random?category=${this.selectedCat}`
)
.then(response => {
return response.json();
})
.then(jsonOBj => {
this.joke = jsonOBj.value;
})
.catch(error => {
console.log(error);
});
}
selectedCat是一个变量,它从用户那里获取所需的笑话类别,如果用户没有选择类别,他们可以加载一些随机笑话。在这种情况下,端点是不同的-
https://api.chucknorris.io/jokes/random
问题是,如何基于if语句设置端点,类似于这样:
if(selectedCat) {
fetch(someAddress)
} else {
fetch(anotherAddress)
}
let url=''
让pageUrl为空https://api.chucknorris.io/jokes/random'
如果(已选择Cat){
url=`{pageUrl}?类别=${this.selectedCat}`
}否则{
url=pageUrl
}
fetchJoke(url)
动态创建url
,而不是在if条件中添加fetch
fetchJoke: function() {
let url = `https://api.chucknorris.io/jokes/random`;
if(this.selectedCat) {
url = url + `?category=${this.selectedCat}`;
}
fetch(url)
.then(response => {
return response.json();
})
.then(jsonOBj => {
this.joke = jsonOBj.value;
})
.catch(error => {
console.log(error);
});
}
或
您可以使用本线程中提到的内联if语句:
fetchJoke: function() {
fetch(`https://api.chucknorris.io/jokes/random${this.selectedCat ? '?category=' +this.selectedCat: ''}`)
.then(response => {
return response.json();
})
.then(jsonOBj => {
this.joke = jsonOBj.value;
})
.catch(error => {
console.log(error);
});
}