跳至内容

特殊选项

特殊选项以 $ 开头,位于 apollo 对象中。

  • $skip 用于禁用所有查询和订阅(见下文)
  • $skipAllQueries 用于禁用所有查询(见下文)
  • $skipAllSubscriptions 用于禁用所有订阅(见下文)
  • $deep 用于在提供函数时,对上述属性使用 deep: true 进行监听
  • $error 用于在默认处理程序中捕获错误(见智能查询的 error 高级选项)
  • $query 用于将默认选项应用于组件中的所有查询

示例

vue
<script>
export default {
  data () {
    return {
      loading: 0,
    }
  },
  apollo: {
    $query: {
      loadingKey: 'loading',
    },
    query1: { ... },
    query2: { ... },
  },
}
</script>

您可以在 apollo 提供程序中定义一组默认选项,应用于 apollo 定义。例如

js
const apolloProvider = createApolloProvider({
  defaultClient: apolloClient,
  defaultOptions: {
    // apollo options applied to all queries in components
    $query: {
      loadingKey: 'loading',
      fetchPolicy: 'cache-and-network',
    },
  },
})

跳过所有

您可以使用 skipAllQueries 禁用组件的所有查询,使用 skipAllSubscriptions 禁用所有订阅,使用 skipAll 禁用两者。

js
this.$apollo.skipAllQueries = true
this.$apollo.skipAllSubscriptions = true
this.$apollo.skipAll = true

您也可以在组件的 apollo 选项中声明这些属性。它们可以是布尔值

js
apollo: {
  $skipAll: true
}

或响应式函数

js
apollo: {
  $skipAll () {
    return this.foo === 42
  }
}