特殊选项
特殊选项以 $ 开头,位于 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
}
}