Maison >interface Web >Voir.js >Conseils pour créer une application de newsletter efficace à l'aide de Vue et Firebase Cloud Firestore
Conseils pour créer une application de newsletter efficace à l'aide de Vue et Firebase Cloud Firestore
Résumé :
Cet article présentera comment utiliser Vue.js et Firebase Cloud Firestore pour créer une application de newsletter efficace. Nous utiliserons Vue.js comme framework front-end et communiquerons avec Firebase Cloud Firestore pour la communication de base de données en temps réel. Dans cet article, nous présenterons en détail le processus depuis la création d'un projet Firebase, la configuration d'une base de données en temps réel Firestore, l'écriture de composants Vue, la liaison de données et la synchronisation en temps réel.
Configuration de l'environnement du projet Vue :
Avant de construire le projet Vue, nous devons nous assurer que Node.js et Vue CLI ont été installés. Utilisez Vue CLI pour créer rapidement un squelette de projet Vue de base. Allez dans le terminal (ligne de commande) et exécutez la commande suivante :
vue create news-app
Cela créera un projet Vue appelé news-app. Ensuite, allez dans le dossier du projet et exécutez la commande suivante pour installer le SDK Firebase :
cd news-app npm install firebase
Une fois l'installation terminée, nous devons également configurer le SDK Firebase. Créez un nouveau fichier appelé firebase.js
, importez le SDK Firebase et configurez le projet : firebase.js
的文件,在其中引入Firebase SDK并配置项目:
import firebase from 'firebase/app' import 'firebase/firestore' const firebaseConfig = { // 替换为你自己的配置信息 } firebase.initializeApp(firebaseConfig) export const db = firebase.firestore()
将firebaseConfig对象的值替换为你在Firebase控制台上的项目配置信息。
创建Vue组件:
接下来,我们开始创建Vue组件。在src/components文件夹中,我们创建一个名为NewsList.vue
的文件,并在其中实现展示新闻列表的组件:
<template> <div> <h1>时事新闻</h1> <ul> <li v-for="news in newsList" :key="news.id"> {{ news.title }} </li> </ul> </div> </template> <script> import { db } from '@/firebase' export default { data() { return { newsList: [] } }, mounted() { db.collection('news') .orderBy('timestamp', 'desc') .limit(10) .onSnapshot(querySnapshot => { this.newsList = querySnapshot.docs.map(doc => doc.data()) }) } } </script>
在这个组件中,我们通过调用db.collection('news')
来获取名为news的集合数据。我们使用orderBy('timestamp', 'desc')
来按照时间戳的降序排列数据,并使用limit(10)
来限制只显示最新的10条新闻。使用onSnapshot
函数可以实时监听数据的变化,并将获取的数据映射到newsList
<template> <div id="app"> <NewsList /> </div> </template> <script> import NewsList from './components/NewsList.vue' export default { components: { NewsList } } </script>Remplacez la valeur de l'objet firebaseConfig par les informations de configuration de votre projet sur la console Firebase.
Création de composants Vue :
NewsList.vue
et implémentons le composant qui affiche la liste des actualités : npm run serveDans ce composant, nous appelons
db.collection('news ')
pour obtenir les données de collection nommées news. Nous utilisons orderBy('timestamp', 'desc')
pour trier les données par ordre décroissant d'horodatage, et utilisons limit(10)
pour limiter l'affichage uniquement aux dernières 10 nouvelles. Utilisez la fonction onSnapshot
pour surveiller les modifications des données en temps réel et mapper les données acquises aux attributs de données de newsList
.
Dans App.vue, nous commençons à importer le composant et à l'utiliser dans le modèle :
rrreee
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!