Maison >interface Web >Questions et réponses frontales >Comment utiliser Vue pour implémenter la fonction Ajouter un ami
Avec l'essor des médias sociaux, l'ajout d'amis est devenu un élément indispensable des interactions quotidiennes des gens. Pour les développeurs front-end, comment implémenter la fonction d'ajout d'amis sur la page est une question qui mérite réflexion. Cet article expliquera comment utiliser le framework Vue pour implémenter la fonction d'ajout d'un ami.
1. Connaissances préalables
Avant de commencer à introduire la fonction d'ajout d'amis, nous devons connaître les éléments suivants :
Lors de la conception de la page pour ajouter des amis, nous devons prendre en compte la mise en page et les fonctionnalités de la page. Habituellement, la fonction d'ajout d'un ami doit inclure le contenu suivant :
Zone de recherche : les utilisateurs peuvent saisir le nom ou l'identifiant de l'ami dans la zone de recherche pour effectuer une recherche ;<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>
Obtenir la liste des utilisateurs
<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>
Les composants parent-enfant transmettent des valeurs
<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>Dans le code ci-dessus, nous définissons un props nommé mot-clé pour recevoir la valeur transmise par le composant parent. Dans la méthode getUserList, nous pouvons utiliser this.keyword pour obtenir les mots-clés transmis par le composant parent pour la recherche. La méthode addFriend est utilisée pour envoyer des requêtes au backend pour ajouter des amis.
Vue Router
vue create my-projectLors de la sélection des options, sélectionnez Sélectionner manuellement les fonctionnalités, puis sélectionnez Routeur et installez-le. Ensuite, après avoir ajouté des amis avec succès, nous devons accéder à la page de détails sur l'ajout d'un ami. Cette fonction peut être implémentée à l'aide de Vue Router :
<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>Dans le code ci-dessus, nous avons d'abord introduit la fonction mapState de Vuex pour obtenir des informations sur l'utilisateur via cette fonction. Ensuite, dans la méthode addFriend, nous envoyons une demande au backend pour ajouter un ami. Une fois l'ami ajouté avec succès, nous utilisons Vue Router pour accéder à la page de détails de l'ami. Lors du saut, nous utilisons les attributs name et params de la route. L'attribut name représente le nom de la page et l'attribut params représente les paramètres passés. Nous pouvons définir la route dans src/router/index.js :
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 routerDans le code ci-dessus, nous définissons une route nomméefriendDetail L'attribut path de la route représente le chemin pour accéder à la page, et l'attribut name représente la route. . Le nom et les attributs du composant indiquent le composant correspondant à l'itinéraire. Le composant FriendDetail est un composant utilisé pour afficher les pages de détails des amis. Dans ce composant, les informations sur les amis peuvent être obtenues en fonction de l'id d'ami transmis. 4. ConclusionDans cet article, nous avons présenté comment utiliser le framework Vue pour implémenter la fonction d'ajout d'amis. Grâce à la mise en œuvre de cette fonction, nous pouvons non seulement développer nos compétences frontales, mais également améliorer nos compétences en communication et sociales et établir davantage de relations sociales grâce à cette fonction.
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!