Heim >Web-Frontend >Front-End-Fragen und Antworten >So verwenden Sie Vue, um die Funktion „Freund hinzufügen' zu implementieren
Mit dem Aufkommen der sozialen Medien ist das Hinzufügen von Freunden zu einem unverzichtbaren Bestandteil der täglichen Interaktion der Menschen geworden. Für Front-End-Entwickler ist die Frage, wie die Funktion zum Hinzufügen von Freunden auf der Seite implementiert werden kann, eine Überlegung wert. In diesem Artikel wird erläutert, wie Sie das Vue-Framework zum Implementieren der Funktion „Freund hinzufügen“ verwenden.
1. Vorausgesetzte Kenntnisse
Bevor wir mit der Einführung der Funktion zum Hinzufügen von Freunden beginnen, müssen wir Folgendes wissen:
Beim Entwerfen der Seite zum Hinzufügen von Freunden müssen wir das Layout und die Funktionalität der Seite berücksichtigen. Normalerweise muss die Funktion „Freund hinzufügen“ den folgenden Inhalt enthalten:
Suchfeld: Benutzer können den Namen oder die ID des Freundes eingeben, um zu suchen.<template> <div class="friend-add"> <!-- 搜索框部分 --> <div class="search-bar"> <input type="text" placeholder="请输入好友名字或ID" v-model="keyword"> <button @click="search">搜索</button> </div> <!-- 用户列表部分 --> <div class="user-list"> <ul> <li v-for="(user, index) in userList" :key="index"> {{ user.name }} <button @click="addFriend(user)">添加好友</button> </li> </ul> </div> </div> </template>
Benutzerliste abrufen
<template> <div class="user-list"> <ul> <li v-for="(user, index) in userList" :key="index">{{ user.name }}</li> </ul> </div> </template> <script> export default { data() { return { userList: [] } }, methods: { getUserList() { // TODO: 发送接口请求,获取用户列表 this.userList = [ { name: '张三', id: 1 }, { name: '李四', id: 2 }, { name: '王五', id: 3 }, ] } }, mounted() { this.getUserList() } } </script>
Eltern-Kind-Komponenten übergeben Werte
<template> <div class="friend-add"> <div class="search-bar"> <!-- 在搜索框中添加v-model指令,将输入框中的值与父组件的keyword进行双向绑定 --> <input type="text" placeholder="请输入好友名字或ID" v-model="keyword"> <button @click="search">搜索</button> </div> <user-list :keyword="keyword"></user-list> </div> </template> <script> import UserList from './UserList' export default { components: { UserList }, data() { return { keyword: '' } }, methods: { search() { // 点击搜索按钮时触发该函数,这里的search功能可以自行实现 this.$refs.userList.getUserList() } } } </script>
<template> <div class="user-list"> <ul> <li v-for="(user, index) in userList" :key="index"> {{ user.name }} <button @click="addFriend(user)">添加好友</button> </li> </ul> </div> </template> <script> export default { props: { keyword: String }, data() { return { userList: [] } }, methods: { getUserList() { // TODO:根据this.keyword向后端发送请求,获取用户列表 }, addFriend(user) { // TODO:向后端发送请求,添加好友 } } } </script>Im obigen Code definieren wir ein Schlüsselwort mit dem Namen „props“, um den von der übergeordneten Komponente übergebenen Wert zu empfangen. In der getUserList-Methode können wir this.keyword verwenden, um die von der übergeordneten Komponente für die Suche übergebenen Schlüsselwörter abzurufen. Die addFriend-Methode wird verwendet, um Anfragen zum Hinzufügen von Freunden an das Backend zu senden.
Vue Router
vue create my-projectWählen Sie bei der Auswahl von Optionen die Option „Funktionen manuell auswählen“ aus, wählen Sie dann „Router“ aus und installieren Sie ihn. Als nächstes müssen wir nach dem erfolgreichen Hinzufügen von Freunden zur Seite mit den Details zum Hinzufügen von Freunden springen. Diese Funktion kann mit Vue Router implementiert werden:
<template> <div> <!-- 用户列表部分 --> <div class="user-list"> <ul> <li v-for="(user, index) in userList" :key="index"> {{ user.name }} <button @click="addFriend(user)">添加好友</button> </li> </ul> </div> </div> </template> <script> import { mapState } from 'vuex' export default { data() { return { userList: [] } }, computed: { ...mapState(['userInfo']) }, methods: { async addFriend(user) { // 向后端发送请求,添加好友 await this.$http.post('/add-friend', {id: user.id}) // 添加好友成功之后,跳转到好友详情页面 this.$router.push({ name: 'friendDetail', params: { friendId: user.id } }) } } } </script>Im obigen Code haben wir zunächst die mapState-Funktion von Vuex eingeführt, um Benutzerinformationen über diese Funktion abzurufen. Dann senden wir in der Methode addFriend eine Anfrage an das Backend, um einen Freund hinzuzufügen. Nachdem der Freund erfolgreich hinzugefügt wurde, springen wir mit Vue Router zur Seite mit den Freundesdetails. Beim Springen verwenden wir die Attribute name und params der Route. Das Attribut name stellt den Namen der Seite dar und das Attribut params stellt die übergebenen Parameter dar. Wir können die Route in src/router/index.js definieren:
import Vue from 'vue' import VueRouter from 'vue-router' import FriendDetail from '@/views/FriendDetail.vue' Vue.use(VueRouter) const routes = [ { path: '/friend-detail/:friendId', name: 'friendDetail', component: FriendDetail } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default routerIm obigen Code definieren wir eine Route mit dem Namen „friendDetail“. Das Pfadattribut der Route stellt den Pfad für den Zugriff auf die Seite dar, und das Namensattribut stellt die Route dar . Der Name und die Komponentenattribute geben die der Route entsprechende Komponente an. Die FriendDetail-Komponente ist eine Komponente, die zum Anzeigen von Freundesdetailseiten verwendet wird. In dieser Komponente können Freundesinformationen basierend auf der übergebenen FriendId abgerufen werden. 4. FazitIn diesem Artikel haben wir vorgestellt, wie man das Vue-Framework verwendet, um die Funktion zum Hinzufügen von Freunden zu implementieren. Durch die Implementierung dieser Funktion können wir nicht nur unsere Front-End-Fähigkeiten erweitern, sondern auch unsere Kommunikations- und Sozialkompetenzen verbessern und durch diese Funktion mehr soziale Beziehungen aufbauen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Vue, um die Funktion „Freund hinzufügen' zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!