Rumah hujung hadapan web View.js Cara menggunakan Vue dan Firebase Cloud Firestore untuk melaksanakan aplikasi surat berita dengan penyegerakan data masa nyata

Cara menggunakan Vue dan Firebase Cloud Firestore untuk melaksanakan aplikasi surat berita dengan penyegerakan data masa nyata

Sep 13, 2023 am 08:27 AM
vue firebase Penyegerakan masa nyata

如何使用Vue和Firebase Cloud Firestore实现数据实时同步的时事通讯应用

Cara menggunakan Vue dan Firebase Cloud Firestore untuk melaksanakan aplikasi surat berita dengan penyegerakan data masa nyata

Pengenalan:
Dalam era digital, pemerolehan maklumat masa nyata telah menjadi salah satu keperluan penting. Ciri penyegerakan masa nyata apl surat berita membantu pengguna mengikuti perkembangan terkini berita, acara dan kemas kini. Artikel ini akan memperkenalkan cara menggunakan Vue.js dan Firebase Cloud Firestore untuk melaksanakan aplikasi surat berita dengan penyegerakan data masa nyata dan memberikan contoh kod yang sepadan.

1. Apakah itu Vue.js dan Firebase Cloud Firestore
Vue.js ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Ia mudah dipelajari, fleksibel dan cekap, serta digunakan secara meluas dalam aplikasi satu halaman dan pembangunan aplikasi mudah alih.

Firebase Cloud Firestore ialah perkhidmatan pangkalan data awan masa nyata yang fleksibel. Ia menyediakan cara mudah untuk menyimpan dan menyegerakkan data aplikasi tanpa perlu membina dan menyelenggara pelayan bahagian belakang sendiri.

2. Penyediaan projek

  1. Buat projek Vue.js
    Mula-mula, buat projek Vue.js baharu melalui Vue CLI. Buka terminal dan laksanakan arahan berikut:

    vue create times-news-app
    Salin selepas log masuk

    Pilih pilihan konfigurasi pilihan anda dan tunggu penciptaan projek selesai.

  2. Mengkonfigurasi Firebase Cloud Firestore
    Buat projek baharu dalam konsol Firebase dan tambahkan pangkalan data Cloud Firestore. Dapatkan maklumat konfigurasi Firebase anda dalam tetapan projek.

Buka projek Vue.js, buat fail bernama .env.local dalam direktori akar projek dan tambah maklumat konfigurasi berikut pada fail: .env.local的文件,并将以下配置信息添加到该文件中:

VUE_APP_FIREBASE_API_KEY=YOUR_API_KEY
VUE_APP_FIREBASE_AUTH_DOMAIN=YOUR_AUTH_DOMAIN
VUE_APP_FIREBASE_DATABASE_URL=YOUR_DATABASE_URL
VUE_APP_FIREBASE_PROJECT_ID=YOUR_PROJECT_ID
VUE_APP_FIREBASE_STORAGE_BUCKET=YOUR_STORAGE_BUCKET
VUE_APP_FIREBASE_MESSAGING_SENDER_ID=YOUR_MESSAGING_SENDER_ID
VUE_APP_FIREBASE_APP_ID=YOUR_APP_ID
Salin selepas log masuk

YOUR_API_KEYYOUR_AUTH_DOMAIN等替换为你在Firebase控制台中获得的实际值。

三、创建Vue组件
首先,我们需要创建两个Vue组件:一个用于显示新闻列表,另一个用于发布新的新闻。

  1. NewsList.vue

    <template>
      <div>
     <h1>时事新闻</h1>
     <ul>
       <li v-for="newsItem in newsList" :key="newsItem.id">
         {{ newsItem.title }}
       </li>
     </ul>
      </div>
    </template>
    
    <script>
    import db from '@/firebaseConfig.js';
    
    export default {
      data() {
     return {
       newsList: []
     };
      },
      created() {
     db.collection('news')
       .orderBy('timestamp', 'desc')
       .onSnapshot((snapshot) => {
         this.newsList = snapshot.docs.map((doc) => {
           return {
             id: doc.id,
             title: doc.data().title
           };
         });
       });
      }
    };
    </script>
    Salin selepas log masuk
  2. NewNews.vue

    <template>
      <form @submit.prevent="submitNews">
     <h2>发布新闻</h2>
     <input type="text" v-model="newsText" placeholder="请输入新闻标题" />
     <button type="submit">发布</button>
      </form>
    </template>
    
    <script>
    import db from '@/firebaseConfig.js';
    
    export default {
      data() {
     return {
       newsText: ''
     };
      },
      methods: {
     submitNews() {
       db.collection('news')
         .add({
           title: this.newsText,
           timestamp: new Date()
         })
         .then(() => {
           this.newsText = '';
         })
         .catch((error) => {
           console.error('发布新闻失败:', error);
         });
     }
      }
    };
    </script>
    Salin selepas log masuk

四、配置路由和样式
src/router/index.js文件中配置路由:

import Vue from 'vue';
import VueRouter from 'vue-router';
import NewsList from '@/views/NewsList.vue';
import NewNews from '@/views/NewNews.vue';

Vue.use(VueRouter);

const routes = [
  {
    path: '/',
    name: 'NewsList',
    component: NewsList
  },
  {
    path: '/new',
    name: 'NewNews',
    component: NewNews
  }
];

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
});

export default router;
Salin selepas log masuk

src/App.vue文件中设置基本样式:

<template>
  <div id="app">
    <router-link to="/">新闻列表</router-link>
    <router-link to="/new">发布新闻</router-link>
    <router-view />
  </div>
</template>

<style>
#app {
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
}
</style>
Salin selepas log masuk

五、集成Firebase和Vue应用
src/firebaseConfig.js文件中配置Firebase:

import firebase from 'firebase/app';
import 'firebase/firestore';

const firebaseConfig = {
  apiKey: process.env.VUE_APP_FIREBASE_API_KEY,
  authDomain: process.env.VUE_APP_FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.VUE_APP_FIREBASE_DATABASE_URL,
  projectId: process.env.VUE_APP_FIREBASE_PROJECT_ID,
  storageBucket: process.env.VUE_APP_FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.VUE_APP_FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.VUE_APP_FIREBASE_APP_ID
};

firebase.initializeApp(firebaseConfig);

const db = firebase.firestore();

export default db;
Salin selepas log masuk

最后,在src/main.js文件中集成Vue和Firebase:

import Vue from 'vue';
import App from './App.vue';
import router from './router';

Vue.config.productionTip = false;

new Vue({
  router,
  render: (h) => h(App)
}).$mount('#app');
Salin selepas log masuk

六、运行应用
在终端中执行以下命令,运行应用:

npm run serve
Salin selepas log masuk

访问http://localhost:8080rrreee

Ganti Ganti YOUR_API_KEY , YOUR_AUTH_DOMAIN, dsb. dengan nilai sebenar yang anda perolehi dalam Firebase console.


3. Cipta komponen Vue

Pertama, kita perlu mencipta dua komponen Vue: satu untuk memaparkan senarai berita dan satu lagi untuk menerbitkan berita baharu. . Tetapkan gaya asas dalam fail src/App.vue:

rrreee

5. Sepadukan aplikasi Firebase dan Vue
    Konfigurasikan Firebase dalam fail src/firebaseConfig.js:
  • rrreee
  • Akhir sekali, sepadukan Vue dan Firebase dalam fail src/main.js:
  • rrreee
  • 6. Jalankan aplikasi
  • Jalankan arahan berikut dalam terminal untuk menjalankan aplikasi:
  • rrreee
Lawati http: //localhost:8080, anda akan melihat aplikasi surat berita dengan fungsi penyegerakan data masa nyata. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan Vue.js dan Firebase Cloud Firestore untuk melaksanakan aplikasi surat berita dengan penyegerakan data masa nyata. Kami mencipta dua komponen Vue untuk memaparkan senarai berita dan menerbitkan berita, dan kemudian mengkonfigurasikan penghalaan dan gaya. Akhir sekali, kami menggunakan Firebase untuk menyimpan dan menyegerakkan data serta menyepadukannya ke dalam apl Vue. Dengan langkah ini, kami boleh membina apl surat berita dengan keupayaan penyegerakan masa nyata dengan mudah. 🎜🎜Bahan rujukan: 🎜🎜🎜Dokumentasi rasmi Vue.js: https://vuejs.org/🎜🎜Dokumentasi rasmi Firebase: https://firebase.google.com/docs🎜🎜Dokumentasi rasmi Vue CLI: https:// cli.vuejs.org/🎜🎜

Atas ialah kandungan terperinci Cara menggunakan Vue dan Firebase Cloud Firestore untuk melaksanakan aplikasi surat berita dengan penyegerakan data masa nyata. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Cara melompat ke Div Vue Cara melompat ke Div Vue Apr 08, 2025 am 09:18 AM

Terdapat dua cara untuk melompat elemen div di Vue: Gunakan Vue Router dan tambahkan komponen router-link. Tambah pendengar acara @Click dan panggil ini. $ Router.push () kaedah untuk melompat.

See all articles