检查 nuxt 中的空查询参数

我的 Prismic/Nuxt 项目上有一个搜索页面,可以对 Prismic API 进行全文查询。


这段代码将做到这一点


export default {

  name: 'Search',

  async asyncData({ $prismic, params, query, error }) {

    try {

      // Query to get post content


      const products = await $prismic.api.query($prismic.predicates.fulltext('my.product.title', query.q), { orderings: '[my.product.title desc]' })

      // Returns data to be used in template

    

      return {

        products: products.results,

      }

    } catch (e) {    

      // Returns error page

      error({ statusCode: 404, message: 'Page not found' })

    }

  },

}

网址是/search/?q=somesearch


问题是,如果我在没有查询参数的情况下点击 /search/ ,它会立即捕获错误Unable to encode undefined of type undefined,显然是因为它尝试使用未定义的值查询 API,但我似乎不知道如何制作如果未设置查询,则不查询 API,而是仅显示搜索框,这是有效的检查。


我尝试过


if query.q !== undefined 

在尝试部分,但这不起作用。


慕虎7371278
浏览 115回答 1
1回答

繁星coding

要检查未定义的值,您可以使用:if (typeof query.q !== 'undefined')typeof以字符串形式返回数据类型,这使得检查未定义的值成为可能。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript