国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何優(yōu)雅的在Vue Project中使用vue-apollo

Noodles / 1527人閱讀

摘要:首先我們來熟悉下的工作機(jī)制一個(gè)查詢可以包含一個(gè)或者多個(gè)操作,類似于一個(gè)。操作可以使兩種類型查詢或者修改。以后就又可以愉快的裝逼了本文章只適于初學(xué)者作者考拉閱讀前端工程師

首先我們來熟悉下graphql的工作機(jī)制

一個(gè)GraphQL查詢可以包含一個(gè)或者多個(gè)操作(operation),類似于一個(gè)RESTful API。操作(operation)可以使兩種類型:查詢(Query)或者修改(mutation)。我們看一個(gè)例子:

`query {
  client(id: 1) {
    id 
    name
  }
}`    

那么問題來了,我們已經(jīng)用熟了axios或者fetch 再或者ajax來進(jìn)行數(shù)據(jù)的交互,如:

getRecommdBook (type) {
      this.axios.get(`/books/web/recommendation-api/recommendation/official?type=${type}`)
        .then(res => {
          if (res.data) {
            this.recommdBookfun(res.data)
            console.log(this.recommdBook)
          }
        })
        .catch(err => {
          console.log(err)
        })
    },

怎樣以我們熟悉的形式來運(yùn)用apollo,使查詢更加簡(jiǎn)便呢

首先我們先在vue項(xiàng)目中引用apollo-vue(apollo非親生兒子) 作者是Guillaume Chau(vue的開發(fā)團(tuán)隊(duì)人員)

git:https://github.com/Akryum/vue...

npm install --save vue-apollo apollo-client

main.js引用

// apollo配置

    import { ApolloClient, createNetworkInterface } from "apollo-client"
    import VueApollo from "vue-apollo"

構(gòu)建客戶端
可以構(gòu)建多個(gè)適應(yīng)不同接口

    const networkInterfaceTask = createNetworkInterface({
      uri: "/api/tasks/graphql",
      transportBatching: true,
      opts: {
        credentials: "include"
      }
    })
    
    const apolloClientTask = new ApolloClient({
      networkInterface: networkInterfaceTask,
      connectToDevTools: true
    })
    
    const apolloProvider = new VueApollo({
      clients: {
        task: apolloClientTask
      },
      defaultClient: apolloClientTask
    })

使用apollo

Vue.use(VueApollo)

根目錄引用

new Vue({
  el: "#app",
  router,
  axios,
  store,
  apolloProvider,
  template: "",
  components: { App }
})

好到此為止,基礎(chǔ)配置就已經(jīng)ok了
接下來就是實(shí)際的請(qǐng)求了
在vue 的組件中,比如 test.vue

我們的例子是帶參數(shù)的查詢
首先在組件里構(gòu)建查詢的變量

import gql from "graphql-tag"

const getErSeasons = gql`query erSeasons($classId: Long!) {
                            erSeasons{
                              id
                              name
                              startTime
                              endTime
                              classTask(class:$classId){
                                id
                                classId
                                startTime
                                endTime
                                status
                              }
                            }
                          }`

不懂的話先去查下教程api
然后在methods里面

 changeClass (id) {
      this.ClassSeasons = []
      this.Select = id
      console.log(this.$apollo.query)
      this.$apollo.query({
        query: getErSeasons,
        variables: {
          classId: this.Select
        }
      })
        .then(res => {
          this.Parse(res.data.erSeasons)
          console.log(res)
        })
        .catch(err => {
          console.log(err)
        })
    }
    
這個(gè)形式是不是有點(diǎn)熟悉了。哈哈哈
可以了。以后就又可以愉快的裝逼了
本文章只適于初學(xué)者

作者:考拉閱讀前端工程師

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84786.html

相關(guān)文章

  • Vue-apollo — 在Vue-cli項(xiàng)目使用Graphql

    摘要:在項(xiàng)目中使用當(dāng)然我們可以通過直接在中攜帶參數(shù)直接請(qǐng)求,這樣太過麻煩。為我們提供了一整套解決方案,可以解決大部分問題。本篇文章將介紹如何在你的項(xiàng)目中簡(jiǎn)單使用和一些目前遇到的小坑。 Vue-apollo — 在Vue-cli項(xiàng)目中使用Graphql Vue-apollo — Integrates apollo in your Vue components with declarative...

    TIGERB 評(píng)論0 收藏0
  • vue項(xiàng)目集成graphql 即vue-ApolloClient

    摘要:什么是是一個(gè)用于的查詢語言,是一個(gè)使用基于類型系統(tǒng)來執(zhí)行查詢的服務(wù)端運(yùn)行時(shí)下圖展示所處的位置優(yōu)點(diǎn)有強(qiáng)類型是強(qiáng)類型的,可使用來定義。 1.什么是graphqlGraphQL 是一個(gè)用于 API 的查詢語言,是一個(gè)使用基于類型系統(tǒng)來執(zhí)行查詢的服務(wù)端運(yùn)行時(shí)下圖展示graphql所處的位置showImg(https://segmentfault.com/img/bVbgDGe?w=905&h=...

    princekin 評(píng)論0 收藏0
  • GraphQL 科普 前端向

    摘要:樣例前端傳入字段和結(jié)構(gòu)。后臺(tái)按照前端的需求返回?cái)?shù)據(jù)。則將前后臺(tái)通信直接分為兩大類和。顧名思義,是默認(rèn)的操作符,代表查詢,是不會(huì)給服務(wù)端帶來副作用的請(qǐng)求。文檔文檔部分文檔就是前端向后臺(tái)描述所需的字段。降低前后端溝通成本。 簡(jiǎn)介 showImg(https://segmentfault.com/img/bVbmKX5?w=150&h=150); GraphQL是基于「類型系統(tǒng)」來執(zhí)行查詢的...

    Bmob 評(píng)論0 收藏0
  • 前端每周清單:Node.js 微服務(wù)實(shí)踐,Vue.js 與 GraphQL,Angular 組件技巧

    摘要:前端每周清單第期微服務(wù)實(shí)踐,與,組件技巧,攻防作者王下邀月熊編輯徐川前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。 前端每周清單第 26 期:Node.js 微服務(wù)實(shí)踐,Vue.js 與 GraphQL,Angular 組件技巧,HeadlessChrome 攻防 作者:王下邀月熊 編輯:徐川...

    wall2flower 評(píng)論0 收藏0
  • 如何在github上創(chuàng)建個(gè)人項(xiàng)目的在線演示demo

    摘要:在上搜索相關(guān)項(xiàng)目時(shí)會(huì)發(fā)現(xiàn),有的項(xiàng)目不光寫了一手好文檔并且還給出了項(xiàng)目的在線運(yùn)行。如何在維護(hù)源代碼的同時(shí)并同時(shí)生成項(xiàng)目主頁以下以的單頁應(yīng)用為例,給出完整的項(xiàng)目維護(hù)以及生成項(xiàng)目主頁的步驟。后期可在該基礎(chǔ)上進(jìn)行自己項(xiàng)目的開發(fā)。 前言 Github作為目前優(yōu)秀的同性交友平臺(tái),其上維護(hù)了眾多優(yōu)秀的開源項(xiàng)目。目前Github上關(guān)于前端的項(xiàng)目也是數(shù)不勝數(shù),Vue、React、Angular等等。自己...

    kid143 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<