Vue.js 在Vue apollo中使用gql标记构造查询字符串
我相信用JS动态构造GraphQL查询字符串是可能的,但我无法理解语法。 我的Vue组件中有一个查询,如下所示: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',
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
并键入第一行查询