Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于if语句获取_Javascript_Vue.js - Fatal编程技术网

Javascript 基于if语句获取

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 =>

我有一些从chuck norris api获取数据的演示应用程序。 我将变量添加到表示笑话类别的端点-

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);
    });
}