Vue项目实战--空间论坛(1)

环境准备

安装好node.js,Vue后

添加插件

router---路由,多页面的应用

vuex---在多个组件之间维护同一个数据

添加依赖

bootstrap---美工

popperjs/core

vue项目介绍

views-----对应vue文件,页面

router-----路由,页面,createHashHistory     ------>  createWebHistory

components----存组件(views也可存组件)

根组件---App.vue

入口------main.js    (store-----即vuex)      将整个APP组件挂载到app这个元素上,app在public--index.html上,将所有js文件打包成一个js文件

style中的scoped作用是让各个组件之间互不影响,会给每个组件加上一个随机数值

vue是一个组件化框架

每一vue组件都会导出一个对象,此对象的两个属性为name,components

components表示的是在tmplate中会用到哪些组件,将用到的组件放到components中

网站实现 

网站构建

根组件中引入bootstrap的样式与脚本,并创建导航栏组件 ,可在bootstrap上搜索你喜欢的样式

 创建NavBar组件

创建页面

创建Content组件,并添加到各个页面

设置各个页面的路由,并在各个页面内引入各个组件

在NavBar中使用router-link    :to="{}"  在前端渲染每个页面,名称为各页面定义的接口中的name

创建个人动态页面

创建相关组件

 

 使用bootstrap的grid进行布局   div.row>(div.col-3+div.col-9)

userprofileinfo

实现userprofileinfo的组件并引入UserProfileView.vue

在UserProfileView.vue中写Composition   API   的  setup函数,用于存储信息

并绑定user到组件中v-bind:user="user"

子组件将接收到父组件的参数放到props中,便可在子组件中用user,传递对应的值

在组件定义入口函数setup,用computed实现动态计算fullName,使得可以实现对象之间的计算,然后返回fullName即可

处理关注按钮可用   v-if,v-else 实现按钮的

在vue里面绑定事件,定义一个事件处理函数

可在子组件中定义         follow      unfollow      函数         并返回

在子组件的button中用@click=""绑定事件处理函数    follow      unfollow   

在父组件中绑定事件        follow      unfollow,并定义事件触发函数,follow  unfollow

子组件要修改父组件的信息的话需要触发父组件中绑定的函数,子组件可使用context.emit()

 总结:子组件要修改父组件信息时,首先在子组件中绑定并定义触发函数,子组件使用context.emit()调用父组件的事件,父组件中绑定事件和事件函数,并在父组件中定义事件函数,通过事件函数来操作父组件中的信息

在父组件中定义帖子列表并返回, 然后传递到UserProfilePosts.vue子组件中

在UserProfilePosts.vue中接受父组件传递的对象

实现发帖功能:

编写UserProfileWrite.vue组件,并在父组件中引入,并设置样式

在子组件中设置组件入口函数setup(对象用reactive,变量用ref)

可以用v-model将textarea中的内容绑定到content,content.value即是textarea,

定义发帖函数,可以将贴子的内容返回,并绑定button

发帖用到的帖子存在于父组件,需要实现子组件像父组件的通信,可以使用触发函数的方法来传递信息

在父组件中实现绑定的事件触发函数,然后返回,并绑定事件与函数,可用unshift在数组前更新

unshift 是数组的一个方法,用于在数组的开头添加一个或多个元素,并返回新的数组长度

在子组件触发函数中用context.emit()触发父组件中的事件

注:@绑定事件和函数,:绑定属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/519235.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue+SpringBoot打造实验报告管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验管理模块2.2 实验实例模块2.3 实验批阅模块2.4 实验咨询模块 三、系统展示四、核心代码4.1 查询实验4.2 新增实验咨询4.3 回复实验咨询4.4 新增实验实例4.5 查询实验实例 五、免责说明 一、摘要 1.1 项目介绍 基于…

010-内存泄露

内存泄露 概念引起内存泄漏原因解决排查方案 概念 系统进程不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。当内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。 引起内存泄漏原因 全局…

142.乐理基础-音程的构唱练习

内容参考于:三分钟音乐社 上一个内容:141.乐理基础-男声女声音域、模唱、记谱与实际音高等若干问题说明-CSDN博客 本次内容最好去看视频: https://apphq3npvwg1926.h5.xiaoeknow.com/p/course/column/p_5fdc7b16e4b0231ba88d94f4?l_progra…

记一次简单的获取虚拟机|伪终端shell权限

场景描述 某个系统是ova文件,导入虚拟机启动,但是启动后只有一个伪终端权限,即权限很小,如何拿到这个虚拟机的shell权限呢? 实际操作 这次运气比较好,所遇到的系统磁盘并没有被加密,所以直接…

请说明Vue中的插槽复用

在前端开发中,Vue是一款广泛应用的JavaScript框架,它提供了丰富的功能和灵活性,使得开发者可以轻松构建交互性强大的Web应用程序。Vue中的插槽(slot)是一项非常有用的功能,能够帮助我们实现组件的复用&…

Redis几大数据类型

使用场景: Redis 数据类型及应用场景https://segmentfault.com/a/1190000012212663 Redis的五种常用数据类型在实际应用中有丰富的使用场景: 字符串(String) 缓存:存储经常查询但不频繁修改的数据,如网页…

FreeRTOS day2

1.使用ADC采样光敏电阻数值,如何根据这个数值调节LED灯亮度。 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_value HAL_ADC_GetValue(&hadc);TIM3->CCR3 adc_value * 999 / 4095;printf("%d %d\r\n",adc_value,TIM3->C…

【C++】priority_queue和仿函数

priority_queue翻译过来就是优先队列,其实就是我们数据结构中的堆。堆这个东西之前也说过,它分为大根堆和小根堆,它的底层是一个类似数组的连续的空间,逻辑结构是一个完全二叉树,这个完全二叉树如果是小根堆的话父亲小…

Mybatis-Plus——05,乐观锁(新注解)

乐观锁(新注解) 一、数据库添加一个字段二、实体类添加version注解三、注册乐观锁插件四、测试一下4.1成功的乐观锁4.2失败的乐观锁————————创作不易,笔记不易,如觉不错,请三连,谢谢~~ 乐观锁实现方…

哪个品牌骨传导蓝牙耳机好?避免陷阱的终极选购指南

随着智能音频技术的不断进步,蓝牙耳机市场迎来了快速的发展。特别是近年来在运动爱好者中流行的骨传导蓝牙耳机,其以独特的不入耳设计赢得了广泛的欢迎。这种耳机不仅提供了舒适的佩戴体验,还能让用户在享受音乐的同时保持对周围环境的警觉。…

Vue中如何处理组件间的耦合问题?

在Vue中处理组件间的耦合问题是前端开发中常见的挑战之一。耦合问题指的是组件之间的依赖关系过于紧密,一旦某个组件发生改动,则可能导致其它组件也需要作出相应调整。为了解决这个问题,我们可以采取以下几种方法: 使用事件总线&…

Cadence HDL原理图如何备份

首先,在使用Cadence HDL软件时,在绘制完原理图想重新修改的时候,总找不到地方。 请请教完前辈有所了解,故进行记录。(防止遗忘!共同学习~) 第一步: 第二步: 以上。