美文网首页
vue-apollo query 动态传参

vue-apollo query 动态传参

作者: 中v中 | 来源:发表于2021-03-29 17:12 被阅读0次

第一种: 规规矩矩按照数据库名称来处理

<!--首页-->
<template>
  <div>
    {{card.title}}
    <!-- <div v-for="(blog,index) in cards" :key="index">{{blog.title}}</div> -->
  </div>
</template>
<script>
import gql from 'graphql-tag'
export default {
  data() {
    return {
      iidd : 1,
      card: {}
    }
  },
  apollo: {
    card: {
      query: gql`query($id:ID!) {
        card (id:$id){
          id
          title
        }
      }`,
      // 响应式参数
      variables () {
        // 在这里使用 vue 的响应式属性
        return {
          id: this.iidd,
        }
      },
    }
  }
};
</script>

第2种: 给graphql结果起别名

<!--首页-->
<template>
  <div>
    {{ppp.title}}
    <!-- <div v-for="(blog,index) in cards" :key="index">{{blog.title}}</div> -->
  </div>
</template>
<script>
import gql from 'graphql-tag'
export default {
  data() {
    return {
      iidd : 1,
      ppp: {}
    }
  },
  apollo: {
    ppp: {
      query: gql`query($id:ID!) {
        ppp:card (id:$id){
          id
          title
        }
      }`,
      // 响应式参数
      variables () {
        // 在这里使用 vue 的响应式属性
        return {
          id: this.iidd,
        }
      },
    }
  }
};
</script>

第三种,不起别名,需要用update钩子函数做转换,支持es6写法

<!--首页-->
<template>
  <div>
    {{ppp.title}}
    <!-- <div v-for="(blog,index) in cards" :key="index">{{blog.title}}</div> -->
  </div>
</template>
<script>
import gql from 'graphql-tag'
export default {
  data() {
    return {
      iidd : 1,
      ppp: {}
    }
  },
  apollo: {
    ppp: {
      query: gql`query($id:ID!) {
        card (id:$id){
          id
          title
        }
      }`,
      // 响应式参数
      variables () {
        // 在这里使用 vue 的响应式属性
        return {
          id: this.iidd,
        }
      },
      update ({ card }) {
                // The field is different from 'tasks'
                return card
            },
    }
  }
};
</script>

参考: https://apollo.vuejs.org/zh-cn/api/smart-query.html#%E9%80%89%E9%A1%B9

相关文章

  • vue-apollo query 动态传参

    第一种: 规规矩矩按照数据库名称来处理 第2种: 给graphql结果起别名 第三种,不起别名,需要用update...

  • react的动态路由

    1. 动态路由传参 建议用这个,刷新不会丢 2 query传参 3. state传参

  • vue-router 传参

    动态操作路由 注意:前者query传参,会在页面url上显示参数,后者params传参则不会,这代表刷新页面前者参...

  • 路由传参 query 和 params

    vue路由传参分为两种情况: 一、query和params传参的区别: 1、query传参显示参数,params传...

  • vue router知识点

    query和params传参的区别 一、区别 传参可以使用params和query两种方式; 使用params传参...

  • vue路由间的传参params和query

    query方式传参及接收 示例一 query方式的传参,url看下图: params方式传参及接收 示例一 par...

  • vue query传参&¶ms传参

    query传参 特点:query 传参是以明文传参, 地址栏会拼接参数,类似于get http://localho...

  • 关于vue跳转页面传参问题

    做页面跳转传参的时候,有两种方式,一种是params传参,一种是query传参,query传参类似于get请求,会...

  • vue-router传参

    1.params params传参 2.router-link query传参 3.路由传参

  • Vue路由传参

    目录 Query传参 query传参类似GET请求传参,在路径后面拼上即可 另一种方式就是将to属性配置成对象 展...

网友评论

      本文标题:vue-apollo query 动态传参

      本文链接:https://www.haomeiwen.com/subject/daibhltx.html