Vue.js vue apollo:GraphQL查询仅在使用<;阿波罗查询>;标签。从不在脚本代码中工作。此.$apollo.Query为空

Vue.js vue apollo:GraphQL查询仅在使用<;阿波罗查询>;标签。从不在脚本代码中工作。此.$apollo.Query为空,vue.js,vuejs2,apollo-client,vue-apollo,Vue.js,Vuejs2,Apollo Client,Vue Apollo,我知道我可能错过了一些非常基本的东西,我正在尝试用vue apollo运行graphql查询。。。如果我使用标签,它可以正常工作 如果我尝试从代码内部运行查询,如文档中的基本示例(下面的链接),那么什么都不会发生。服务器从未收到任何请求,并且此。$apollo.queries为空。) 文档中的基本示例: 我已经在“apollo”属性/对象中定义了查询。。。当页面加载时,我实际上如何执行它?请注意,我使用的是typescript,这就是为什么它使用“getApollo()”方法 这是我的密

我知道我可能错过了一些非常基本的东西,我正在尝试用vue apollo运行graphql查询。。。如果我使用标签,它可以正常工作

如果我尝试从代码内部运行查询,如文档中的基本示例(下面的链接),那么什么都不会发生。服务器从未收到任何请求,并且此。$apollo.queries为空。)

文档中的基本示例:

我已经在“apollo”属性/对象中定义了查询。。。当页面加载时,我实际上如何执行它?请注意,我使用的是typescript,这就是为什么它使用“
getApollo()
”方法

这是我的密码

<script lang="ts">
  import { Component, Vue } from 'vue-property-decorator'

  export default class List extends Vue {

    myQueryName='my default value';

    get apollo() {
      return {
        myQueryName: {
          query: require('../graphql/listMeta.graphql'),
          // prefetch: true <-- tried with and without this
        }
      }
    }

  }
</script>

<template>
  <div>

    <!-- THIS DOESN"T WORK ... -->
    queries are: {{this.$apollo.queries}} <!-- THIS JUST SHOWS AN EMPTY OBJECT: {} -->
    <hr>
    myQueryName value is: {{myQueryName}} <!-- THIS JUST SHOWS "my default value"  -->

    <hr>
    <!--
    THIS DOES WORK...
    <ApolloQuery :query="this.apollo.myQueryName.query" >
      <template slot-scope="{ result: { loading, error, data } }"></template>
    </ApolloQuery>
    -->
  </div>
</template>

从“Vue属性装饰器”导入{Component,Vue}
导出默认类列表扩展Vue{
myQueryName='my default value';
获取阿波罗(){
返回{
myQueryName:{
查询:require('../graphql/listMeta.graphql'),
//预回迁:真

myQueryName值为:{{myQueryName}}

您缺少
@Component
decorator,需要设置Vue组件的初始属性,以便
Vue apollo
可以在创建组件时检测到它并生成smartquery属性

从“Vue属性装饰器”导入{Component,Vue}
从“../graphql/listMeta.gql”导入listMetaDocument
@组成部分({
名称:'列表',
阿波罗:{
listMeta:{
查询:listMetaDocument
},
},
})
导出默认类列表扩展Vue{}