Jadual Kandungan
Sediakan pelanggan Apollo di Vue
Ambil data dengan Apollo dalam komponen
Mengendalikan pembolehubah dan refetching
Mengurus keadaan pemuatan dan kesilapan
Petua bonus
Rumah hujung hadapan web View.js Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo

Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo

Aug 16, 2025 am 03:06 AM

Pasang klien Apollo dan pakej ketergantungan yang berkaitan dan konfigurasikan pelanggan mengikut Vue 2 atau VUE 3; 2. Menyediakan contoh pelanggan dalam Vue 3 melalui Provideapolloclient, dan gunakan pemalam Vueapollo di Vue 2; 3. Gunakan API gabungan UseQuery dan Usemutation untuk memulakan pertanyaan dan perubahan komponen; 4. Gunakan pembolehubah dan refetch untuk mencapai pengambilalihan data dinamik dan menyegarkan, kemas kini pengundian pilihan; 5. Menggunakan keadaan pemuatan dan kesilapan untuk mengoptimumkan pengalaman pengguna, menggabungkan ketegangan atau anti-goncang untuk meningkatkan kefasihan interaksi; 6. Tambah maklumat pengesahan melalui tajuk pautan HTTP, gunakan cache, serpihan dan fail pertanyaan untuk mengatur untuk meningkatkan prestasi aplikasi dan penyelenggaraan, dan akhirnya mencapai pemerolehan data yang cekap dan deklaratif, dan lengkap.

Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo

Menggunakan GraphQL dengan pelanggan Vue dan Apollo adalah cara yang kuat untuk membina aplikasi yang didorong oleh data moden. Ia membolehkan anda mengambil dengan tepat data yang anda perlukan dari backend anda, mengurangkan prestasi yang lebih baik dan meningkatkan prestasi. Berikut adalah cara untuk menetapkannya dan menggunakannya dengan berkesan dalam projek VUE.

Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo

Sediakan pelanggan Apollo di Vue

Langkah pertama ialah memasang dan mengkonfigurasi klien Apollo dalam aplikasi VUE anda. Persediaan ini berfungsi untuk kedua -dua Vue 2 dan Vue 3, walaupun perbezaan sintaks sedikit.

Pasang pakej yang diperlukan:

Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo
 NPM Install @Apollo/Client Graphql
NPM Pasang @Vue/Apollo-Composable # untuk Vue 3
# Atau untuk Vue 2:
NPM Pasang Vue-Apollo Apollo-Boost

Untuk Vue 3 , buat contoh ApolloClient dan gunakan provide dalam persediaan aplikasi anda:

 // apolloclient.js
Import {Apolloclient, InMemoryCache, CreateHttplink} dari '@Apollo/Client/Core'

const httplink = createHttPlink ({
  Uri: 'https://your-graphql-api.com/graphql', // Ganti dengan titik akhir anda
})

Const Cache = InMemoryCache baru ()

const apolloclient = baru apolloclient ({
  Pautan: httplink,
  Cache,
})

Eksport lalai Apolloclient

Kemudian, berikan pelanggan di main.js anda:

Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo
 // main.js
import {createApp} dari 'vue'
import {menyediakan: provideapolloclient} dari '@vue/apollo-composable'
import apolloclient dari './apolloclient'
aplikasi import dari './app.vue'

Const App = CreateApp (App)

ProvideApollOclient (Apolloclient)

app.mount ('#app')

Untuk Vue 2 , anda akan menggunakan Vue.use() dengan VueApollo .


Ambil data dengan Apollo dalam komponen

Sebaik sahaja Apollo disediakan, anda boleh menggunakannya dalam komponen anda untuk menanyakan atau bermutasi data.

Di Vue 3 , gunakan penggunaan yang useQuery atau useMutation :

 <persediaan skrip>
import {useQuery} dari &#39;@vue/apollo-composable&#39;
Import GQL dari &#39;Graphql-Tag&#39;

const {result, loading, error} = useQuery (gql`
  pertanyaan getPosts {
    Catatan {
      id
      tajuk
      kandungan
    }
  }
`)
</script>

<pemat>
  <div v-if = "loading"> loading ... </div>
  <div v-else-if = "error"> error: {{error.message}} </div>
  <div v-else>
    <ul>
      <li v-for = "post dalam result.posts": key = "post.id">
        <h3> {{post.title}} </h3>
        <p> {{post.content}} </p>
      </li>
    </ul>
  </div>
</template>

Untuk mutasi:

 import {usemutation} dari &#39;@vue/apollo-composable&#39;

const {mutate: addPost} = usemutation (gql`
  Mutasi AddPost ($ Tajuk: String!, $ Content: String!) {
    Insert_posts (objek: {title: $ title, content: $ content}) {
      Kembali {
        id
        tajuk
        kandungan
      }
    }
  }
`)

// memanggilnya dengan pembolehubah
addPost ({
  pembolehubah: {
    Tajuk: &#39;Pos Baru&#39;,
    Kandungan: &#39;Ini adalah jawatan baru.&#39;,
  },
})

Mengendalikan pembolehubah dan refetching

Anda sering perlu lulus pembolehubah kepada pertanyaan, seperti penapisan atau penomboran.

 const {result, refetch} = useQuery (
  gql`
    pertanyaan getUserPosts ($ userid: id!) {
      Catatan (di mana: {user_id: {_eq: $ userid}}) {
        id
        tajuk
      }
    }
  `,
  {userid: 123} // pembolehubah
)

Sekiranya data berubah dan anda ingin menyegarkan semula, hubungi refetch() secara manual atau sediakan pengundian:

 refetch ({userid: 456}) // run semula dengan pembolehubah baru

Anda juga boleh mengaktifkan pengundian automatik:

 UseQuery (pertanyaan, pembolehubah, {
  Pollinterval: 5000, // Setiap 5 saat
})

Mengurus keadaan pemuatan dan kesilapan

Apollo memberi anda loading dan error negeri keluar dari kotak. Gunakannya untuk memperbaiki UX.

  • Tunjukkan pemutar semasa loading adalah benar.
  • Paparkan mesej mesra pengguna apabila error wujud.
  • Pertimbangkan menggunakan penggantungan dalam Vue 3 untuk aliran pemuatan yang bersih.

Anda juga boleh debounce atau permintaan pendikit jika anda menggunakan input carian dengan pertanyaan GraphQL.


Petua bonus

  • Gunakan gql dari graphql-tag atau Enable .gql Fail Sokongan melalui Webpack untuk organisasi pertanyaan yang lebih baik.
  • Dayakan caching dengan InMemoryCache untuk mengelakkan permintaan rangkaian yang tidak perlu.
  • Gunakan serpihan untuk menggunakan semula bahagian pertanyaan di seluruh komponen.
  • Untuk pengesahan, lampirkan tajuk (seperti Authorization ) di createHttpLink :
 const httplink = createHttPlink ({
  Uri: &#39;https://your-api.com/graphql&#39;,
  tajuk: {
    Kebenaran: `Pembawa $ {localStorage.getItem (&#39;token&#39;)}`,
  },
})

Pada asasnya, apabila Apollo dikonfigurasikan, mengambil data menjadi deklaratif dan reaktif. Anda menentukan apa yang anda perlukan, Apollo mengendalikan selebihnya. Ia bersih, cekap, dan skala dengan baik dengan aplikasi Vue yang lebih besar.

Atas ialah kandungan terperinci Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kaedah yang dikira vs kaedah di Vue Kaedah yang dikira vs kaedah di Vue Aug 05, 2025 am 05:21 AM

Dikira mempunyai cache, dan pelbagai akses tidak dikira semula apabila pergantungan tetap tidak berubah, sementara kaedah dilaksanakan setiap kali mereka dipanggil; 2. Komputed sesuai untuk pengiraan berdasarkan data responsif. Kaedah sesuai untuk senario di mana parameter diperlukan atau panggilan kerap tetapi hasilnya tidak bergantung kepada data responsif; 3. Kompted menyokong getters dan setters, yang dapat merealisasikan penyegerakan data dua hala, tetapi kaedah tidak disokong; 4. Ringkasan: Gunakan yang dikira terlebih dahulu untuk meningkatkan prestasi, dan menggunakan kaedah semasa lulus parameter, melakukan operasi atau mengelakkan cache, mengikuti prinsip "jika anda boleh menggunakan dikira, anda tidak menggunakan kaedah".

Apakah cangkuk kitaran hayat Vue? Apakah cangkuk kitaran hayat Vue? Aug 05, 2025 am 09:33 AM

VuelifecycleHooksallowyoutoexecutecodeatspecificstagesofacomponent'sexistence.1.beforecreaterunswhenthenthecomponentisinitialized, beforereactivityissetup.2.CreateediscalledafterReactiveisstablisded, makeDataandmethoDoShoD.3apvailable

Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo Aug 16, 2025 am 03:06 AM

Pasang pakej ketergantungan apolloclient dan berkaitan dan konfigurasikan pelanggan mengikut VUE2 atau VUE3; 2. Menyediakan contoh pelanggan di VUE3 melalui ProvideApollOclient, dan gunakan pemalam VUeapollo di VUE2; 3. Gunakan API gabungan UseQuery dan Usemutation untuk memulakan pertanyaan dan perubahan komponen; 4. Gunakan pembolehubah dan refetch untuk mencapai pengambilalihan data dinamik dan menyegarkan, pengundian pilihan dan kemas kini; 5. Menggunakan keadaan pemuatan dan kesilapan untuk mengoptimumkan pengalaman pengguna, dan menggabungkan ketegangan atau anti-goncang untuk meningkatkan kelancaran interaksi; 6. Tambahkan maklumat pengesahan melalui tajuk pautan HTTP, dan gunakan cache, serpihan dan fail pertanyaan untuk mengatur dan menyediakan

Cara Mengurus Pembolehubah Alam Sekitar dalam Projek Vue Cara Mengurus Pembolehubah Alam Sekitar dalam Projek Vue Aug 22, 2025 am 11:38 AM

Pengurusan pembolehubah persekitaran adalah penting dalam projek VUE dan anda perlu memilih cara yang betul berdasarkan alat binaan. 1. Projek Vuecli menggunakan fail .env dengan awalan vue_app_, diakses melalui proses.env.vue_app, seperti .env.production; 2. Projek Vite menggunakan awalan vite_, diakses melalui import.meta.env.vite_, seperti .env.staging; 3. Kedua -dua menyokong mod tersuai untuk memuatkan fail yang sepadan, dan fail kelas .Env.local hendaklah ditambah ke .gitignore; 4. Sentiasa elakkan mendedahkan maklumat sensitif di bahagian depan, sediakan .Env.Example untuk rujukan, dan periksa pada masa runtime.

Cara Menggunakan Teleport di Vue 3 Cara Menggunakan Teleport di Vue 3 Aug 20, 2025 am 10:30 AM

TELEPORTINVUE3ALLOWSRENDERINGACONENTION'STEMPLATEINADIFFERENTDOMLOCATIONShilepreservingitslogicalPositionIntHecomponentTree; 1.TaTusestHecomponentWithatRIBUTRIBIBUTIBIFITYTHETARGETDODDODD, SUSTAS "BODY" BODY "ROOT";

Cara Membuat Komponen Fungsi di Vue Cara Membuat Komponen Fungsi di Vue Aug 22, 2025 am 05:11 AM

Komponen fungsional digunakan dalam Vue2 untuk mewujudkan komponen persembahan yang tidak berkesudahan, berprestasi tinggi, sesuai untuk senario yang hanya bergantung pada alat peraga. 1. Untuk menentukan fungsi: benar, anda perlu menetapkan fungsi: benar untuk menerima prop dan konteks melalui fungsi render untuk mengembalikan vNode. 2. Daftar dan lulus prop dan peristiwa seperti komponen biasa apabila digunakan. 3. Untuk mengendalikan slot, anda perlu mendapatkan slot () dan kanak -kanak dari konteksnya. Komponen fungsional tidak sesuai untuk senario di mana data responsif, cangkuk kitaran hayat, atau model V diperlukan. VUE3 telah mengeluarkan pilihan berfungsi dan menggantikannya dengan penulisan fungsi atau komponen gabungan ringkas. Pengoptimuman prestasi lebih bergantung pada comp

Apakah faedah menggunakan komponen fail tunggal (.vue fail) di Vue Apakah faedah menggunakan komponen fail tunggal (.vue fail) di Vue Aug 04, 2025 am 09:39 AM

SingleFileComponents (SFCs) Invue.jSimproveVelopmentByColocatingTemplate, Script, andStylesinonefile, ReducingContextSwitchingandenHancingMaintainability

Cara membuat aplikasi mudah alih dengan Vue Native Cara membuat aplikasi mudah alih dengan Vue Native Aug 25, 2025 pm 02:25 PM

Buat aplikasi mudah alih menggunakan vuenative adalah cara yang berkesan untuk mencapai pembangunan silang platform menggunakan sintaks Vue.js yang digabungkan dengan reaktnatif; 2. Mula-mula mengkonfigurasi persekitaran pembangunan, pasang node.js dan expocli, dan buat projek melalui perintah npxcreate-react-native-appmy-vue-app-templatevue-native; 3. Masukkan direktori projek dan jalankan NPMStart, imbas kod QR melalui aplikasi Expogo untuk melihat pratonton pada peranti mudah alih; 4. Tulis komponen fail.

See all articles