ApolloQuery component
Example:
vue
<ApolloQuery
:query="gql => gql`
query MyHelloQuery ($name: String!) {
hello (name: $name)
}
`"
:variables="{ name }"
>
<template v-slot="{ result: { error, data }, isLoading }">
<!-- Loading -->
<div v-if="isLoading" class="loading apollo">Loading...</div>
<!-- Error -->
<div v-else-if="error" class="error apollo">An error occurred</div>
<!-- Result -->
<div v-else-if="data" class="result apollo">{{ data.hello }}</div>
<!-- No result -->
<div v-else class="no-result apollo">No result :(</div>
</template>
</ApolloQuery>WARNING
To enable support of gql string tag in Vue templates, see the necessary setup in the guide.
Props
query: GraphQL query (transformed bygraphql-tag) or a function that receives thegqltag as argument and should return the transformed queryvariables: Object of GraphQL variablesfetchPolicy: See apollo fetchPolicypollInterval: Number of milliseconds. Polling provides near-real-time synchronization with your server by causing a query to execute periodically at a specified interval.notifyOnNetworkStatusChange: See Inspecting loading statescontext: See apollo contextupdate: Function to transform the resultdata, useful for picking a specific part of the response. Example::update="data => data.user.messages"skip: Boolean disabling query fetchingclientId: id of the Apollo Client used by the query (defined in ApolloProviderclientsoption)deep: Boolean to use deep Vue watcherstag: String HTML tag name (default:div); if falsy (for examplenullorundefined), the component will be renderless (the content won't be wrapped in a tag), in this case, only the first child will be rendereddebounce: Number of milliseconds for debouncing refetches (for example when the variables are changed)throttle: Number of milliseconds for throttling refetches (for example when the variables are changed)prefetch: Iffalse, will skip prefetching during SSRoptions: Other Apollo Watch Query options
Scoped slot
result: Apollo Query resultresult.data: Data returned by the query (can be transformed by theupdateprop)result.fullData: Raw data returned by the query (not transformed by theupdateprop)result.loading: Boolean indicating that a request is in flight (you may need to setnotifyOnNetworkStatusChangeprop for it to change)result.error: Eventual error for the current resultresult.networkStatus: See apollo networkStatus
query: Smart Query associated with the component. It's useful to do some operations likequery.refetch()orquery.fetchMore().isLoading: Smart Query loading stategqlError: first GraphQL error if anytimes: number of times the result was updated
Events
result(resultObject)error(errorObject)loading(boolean)