Cara Menggunakan Graphql dengan Pelanggan Vue dan Apollo
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.
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.

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:

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:

// 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 '@vue/apollo-composable' Import GQL dari 'Graphql-Tag' 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 '@vue/apollo-composable' 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: 'Pos Baru', Kandungan: 'Ini adalah jawatan baru.', }, })
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
darigraphql-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
) dicreateHttpLink
:
const httplink = createHttPlink ({ Uri: 'https://your-api.com/graphql', tajuk: { Kebenaran: `Pembawa $ {localStorage.getItem ('token')}`, }, })
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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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".

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

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

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.

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

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

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

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.
