Vue.js 在Vue apollo中使用gql标记构造查询字符串

Vue.js 在Vue apollo中使用gql标记构造查询字符串,vue.js,graphql,vue-apollo,graphql-tag,Vue.js,Graphql,Vue Apollo,Graphql Tag,我相信用JS动态构造GraphQL查询字符串是可能的,但我无法理解语法。 我的Vue组件中有一个查询,如下所示: apollo: { metricsOee: { query: METRICS_OEE, loadingKey: 'loading', variables() { return { widgetType: this.data.name, page: 'dashboard',

我相信用JS动态构造GraphQL查询字符串是可能的,但我无法理解语法。 我的Vue组件中有一个查询,如下所示:

  apollo: {
    metricsOee: {
      query: METRICS_OEE,
      loadingKey: 'loading',
      variables() {
        return {
          widgetType: this.data.name,
          page: 'dashboard',
          currentMetricDay: this.currentTime
        }
      }
    }
  }
我不希望每次都从组件传递currentTime,而是在查询本身中计算它。我的尝试如下所示:

  apollo: {
    metricsOee: {
      query: METRICS_OEE,
      loadingKey: 'loading',
      variables() {
        return {
          widgetType: this.data.name,
          page: 'dashboard',
          currentMetricDay: this.currentTime
        }
      }
    }
  }
[![在此处输入图像描述][1][1]

我知道gql``与JS插值不同,但这是为了说明问题

[1] :

您可能需要将
${currentMetricDay}
用双引号括起来:

...
metricsOee: getMetricsOee(
currentMetricDay: "${currentMetricDay}"
widgetType: $widgetType
page: $page
)
...

哇,那很容易。太多了!不需要使用插值。。。只需将下一个变量用作其他两个变量?只需定义
$currentMetricDay
并键入第一行查询