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