美食杰(个人主页) 上
逻辑:登录自己的个人主页直接跳转,登录别人的个人主页要id值
登录自己的个人主页,自己的个人主页不需要userId值,直接通过router-link跳到个人主页的页面,数据直接拿vuex的数据,原因是我们在router的index里之前来判断token值是否合法就是请求了用户的信息数据,之后又通过vuex中的事件把数据传给了vuex的state
登录别人的个人主页要调用我们之前设置的api组件的请求,先引入到组件中,调用请求的接口,拿到数据赋值给一个对象,登录别人的个人主页要userId值,来判断登录的是谁的个人主页,这是就要监听路由啦!!
<router-link :to="{name:'space',query:{userId:item.userId}}" tag="em">
//把userId传给别人的个人主页来判断不同的个人主页
data(){return {userInfo:{},isOne:false,}},watch:{$route:{async handler(){let {userId} =this.$route.query; //自己的个人主页this.isOne= !userId || userId===this.$store.state.userInfo.userId;//这个this.isOne是 没有userId或者userId等于vuex的数据的userIdif(this.isOne){ //如果为true就把vuex的数据重新赋值给data的userInfothis.userInfo=this.$store.state.userInfo}else{ const data=await userInfo({userId}) //别人的个人主页//需要请求接口通过传入参数userId来跳入不同的别人主页console.log(data) this.userInfo=data.data}},immediate:true //页面初始化立即执行}},
之后拿到数据渲染即可!!
然后判断自己的个人主页有"编辑个人资料",不可以出现关注,别人的个人主页有"关注",不可以出现编辑个人资料
看上面的代码 我们设置了一个isOne:false的data属性,又把this.isOne赋值了等于没有userId参数,和点击自己的作品是有userId值得,我么把呢个userId值让他等于了vuex数据中的userId了,所以这个段代码确定了isOne这个属性他就是自己的个人主页
this.isOne= !userId || userId===this.$store.state.userInfo.userId;
我们直接拿这个isOne在个人主页的编辑个人资料的标签中加入v-show或v-if="isOne",在关注的的标签里也设置v-if="!isOne",不过要取反,当isOne等于true时显示"编辑个人资料",取反isOne等于false时显示"关注"
关注和已关注
我们先去api的组件中去拿 关注 关注取消的关注 没关注的 要关注 的请求
/*** toggle 关注。关注的取消关注;没关注的,要关注。* @export* @param {Object} [params] - * @param {string} [params.followUserId] - 指定要关注的用户的id* @returns*/
export async function toggleFollowing(params){return await http.post('/user/following', params);
}
引入到个人主页的组件中,给关注按钮添加事件,添加之后在事件中用async/await来请求数据,里面必须要有followUserId属性用来指定要关注用户的id
<div class="tools" v-show="!isOne"><!-- follow-at no-follow-at--><a href="javascript:;" @click="isgg()" class="follow-at":class="{'no-follow-at':userInfo.isFollowing}">{{userInfo.isFollowing? '已关注':'关注'}}</a></div>
这个关注和已关注是通过数据中的isFollowing的true"已关注"和false"关注"来控制的,当我们调用接口并把新的数据进行整体赋值,里面的isFollowing也就变为true,所以就会显示已关注
为什么要整体赋值数据呢?? 因为关注后,要更新数据还有粉丝,所有整体赋值数据
methods:{async isgg(){const data=await toggleFollowing({followUserId:this.userInfo.userId});console.log(data)//因为关注后,要更新数据还有粉丝,所有整体赋值数据this.userInfo=data.data}}
继续努力加油!!!!
美食杰(个人主页) 上相关推荐
- 美食杰(个人主页编辑资料)
逻辑:在保存的时候设置一个单击事件,上面没修改之前直接拿vuex的数据用v-model绑定即可,而在单击保存的时候我们调用我么之前封装的接口的请求,修改成功之后让他跳到自己的个人主页里 首先我们先拿到 ...
- 美食杰(个人主页) 下
逻辑:先实现tab切换在个人主页router的组件中加入子组件,通过绑定单击事件,编程式导航的形式,来跳转不同的子组件中显示不同的内容,之后从api里拿接口封装接口请求,拿到数据通过父传子的形式把请求 ...
- 美食杰项目 -- 个人主页(四)
目录 前言: 具体实现思路: 步骤: 1. 展示美食杰菜谱大全效果 2. 引入element-ui 3. 代码 总结: 前言: 本文给大家讲解,美食杰项目中 实现个人主页的效果,和具体代码. 具体实现 ...
- 美食杰项目(五)个人主页
目录 前言 具体效果 代码思路 相应组件 具体代码 总结: 前言 本节给大家讲的是美食杰项目的个人主页的主要功能和具体样式,希望我的代码能够帮助到你,也希望你能够看懂 具体效果 作品和收藏的具体样式( ...
- 美食杰项目---个人页和他人主页
美食杰项目-个人页和他人主页 跳转个人主页. 跳转他人主页. 点击他人关注或取消关注. 点击他人菜谱,粉丝及关注. 效果图展示 点击跳转到个人空间,个人空间没有关注和取消关注. 点击个人跳转如下图: ...
- 美食杰项目 -- 编辑个人资料(六)
目录 前言: 具体实现思路: 步骤: 1. 展示美食杰编辑个人资料效果 2. 引入element-ui 3. 代码 总结: 前言: 本文给大家讲解,美食杰项目中 实现编辑个人资料页的效果,和具体代码. ...
- 美食杰项目 -- 总结(八)
目录 前言: 项目效果展示 引入插件说明 后台请求代码编写 package.json页面代码 main.js页面代码 总结 前言: 经过大概一周时间的兴勤劳作,美食杰项目的所有代码已经全部编写完成,功 ...
- 实现美食杰的一点点记录
vue中轮播图的实现 通过element-ui设置轮播图的框架 然后通过异步请求数据再接收数据最后在框架上遍历 script中的内容 mounted(){getBanner().then(({data ...
- vue项目美食杰 -- 发布菜谱
不知不觉间,vue美食杰项目已经实现了很多了,我都有点始料未及呢,今天进行的部分呢,是项目中的发布菜谱功能,在这个页面中,我们会学习到前后端的交互,Element-ui的使用等等... 先看下效果图: ...
最新文章
- 【收藏】HBase源码 | HBase2.x源码导入IDEA并开启DEBUG调试
- 在 Java 中,为什么需要创建内部类对象之前需要先创建外部类对象
- python求积分基于numpy_NumPy 实现梯形法积分
- LeetCode 1203. 项目管理(两次拓扑排序)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-9(切割合并文件)
- python scapy sniffer停止抓包_如果没有收到数据包,如何告诉scapy sniff()停止?
- 【Retinex】【Frankle-McCann Retinex】matlab代码注释
- 壬寅年黄帝故里拜祖大典“中华始祖杯”书画大赛云展厅今日开展
- NVME(SATA)固态硬盘按装win7/10
- baigoStudio baigoSSO v3.0.1(Use CVE-2019-10015.)
- Java源码 SpringMVC Mybatis Shiro Bootstrap Rest Webservice
- P1600 天天爱跑步 解题报告
- 算法-经典趣题-三色旗
- 华为服务器控制口地址修改,服务器修改管理口地址
- HDU 2072 单词数 Trie 如何debug一颗Trie
- 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日
- 30行python代码实现微信自动陪女盆友聊天(itchat-uos + 无限制调用)
- getPhoneNumber 响应 416
- 图像采集卡 | 以每秒千兆像素的速度进行图像处理
- 论文翻译:Skeleton-Based Action Recognition with Multi-Stream Adaptive Graph Convolutional Networks
热门文章
- 一个程序员购买保险之路-1(适用于所有人)
- picjumbo - 提供大量高级感、观感极佳的图片素材下载,全都免费商用
- Unity 3D模型展示之模型透明效果
- maven生成webapp
- 兰德公司:零日漏洞平均生存期为6.9年
- 计算机初中毕业好学吗,初中毕业学计算机好学吗?
- 喜茶门店总数超过650家,深圳单城市突破100家店
- outlook安全模式修复_Outlook Com安全漏洞Microsoft无法修复
- 语文七年级计算机作文,七年级上册语文期末考试作文(精选11篇)
- linux绘制进程树,Linux基础命令---显示树形进程pstree