1.文章详情
1.1页面创建和路由跳转
新建文件夹,用来管理文章功能。路由跳转有三处需要进行跳转,下面对其进行详细的说明。 ⚠️ArticleItem是组件,包括vant的都是组件,组件身上的事件都是自定义事件,组件内部需要$emit('click')才可以触发 解决方式给组件绑定原生的点击事件@click.native(使用修饰符)
1.1.1首页点击文章,跳转详情
在ArticleList中的ArticleItem设置点击事件,但此处会产生事件冒泡
需要➕修饰符去阻止事件冒泡:
事件冒泡&事件捕获
通俗理解:事件冒泡就是小的触发时,向上冒泡,会有父元素身上的事件。事件捕获就是大的会有小的身上的事件。
1.1.2搜索结果点击,跳转详情
给组件ArticleItem进行绑定点击事件
1.1.3x号首页有,搜索结果没有
1.1.4返回小图标的快速设置
1.2数据处理
1.2.1获取详细数据
需要注意的地方:
时间调整---格式化
1.2.2github-markdown-css-----文本调整
使用github-markdown-css,处理文章的字体等,yarn add github-markdown-css安装之后进行引入:
2.关注作者
接口:
当涉及显示互斥元素时,可以采用下面的方法
3.点赞功能&收藏功能
点赞功能和收藏功能与关注作者一样,自己实现
4.文章评论
4.1获取文章评论和数据铺设
接口设置-----params传参
数据铺设
4.2喜欢评论---同上面关注一样的流程
易错点,前端修改样式
4.3发布评论
4.3.1发布评论样式
弹出层或者h5--互斥元素
4.3.2显示输入框自动对焦
之前写了一个自定义事件----指令fofo 使用前应该完成以下配置:
4.3.3显示评论数量
当评论数量为0时,可以借助三元表达式
4.3.4实现发布评论功能
发布按钮在输入框没有内容时,禁用。而当输入框里面有内容时,解除禁用。
拿到文本框中的文本--完成
首先要实现的是前端效果,后续实现后端的逻辑
后端实现---接口书写
此时需要对接口进行判断
// axios中data请求体传参,如果是null,是不会忽略这个参数的,也会把函数名和值携带给后台(只有params遇到null才会忽略)
// 形参artId为可选参数,如果逻辑页面是对文章评论,则不需要传递,所以此时,内部artId值为null就证明此次调用,是针对文章评论,data请求体对象需要自己处理