vue3项目实例 --- 个人博客demo

Vue框架

内容管理

    • 博客demo展示
      • 博客总览页面
      • 添加博客页面
      • 博客预览
      • 博客编辑删除
    • demo中遇到的问题
      • Component "default" in record with path "/blog/:id" is not a valid component
      • 下拉列表没有显示所有的数据
      • 自定义指令v-color测试不成功
    • demo部分源码


Vue小案例 ---- 简单的个人博客【好看的样式可以再完善,主要是思路】


前面分享了vue3的大部分的知识,所以专门出一篇小小的文章实操一下;后面博主会基于vue + springBoot开发个人网站,届时会在github上开源

关于这个vue运用的小demo很easy; 主要实现的功能

  • 添加博客 【添加博客能够实时预览效果】
  • 博客总览【所有的文章,对content进行裁剪】
  • 博客详情【文章的详情】
  • 编辑和删除博客

这里为了不浪费时间,就简单弄了一下,页面也没有运用太多的CSS样式

这里的博客就是随机访问的一个可以返回json数据的网站:happy:; 因为这毕竟只是一个小demo,不值得再编写后端; 目的主要是使用vue【没有使用bootstrap和Element的样式】

博客demo展示

这里demo样式真的一般,这里唯一提示的就是实现博客的标题为五颜六色,可以通过随机数来实现【每次刷新都可以变色】

博客总览页面

这里就是点击进入项目的时候就会显示该页面,该页面会显示所有的博客,博客标题大写,并且内容为前100字,博客标题变色【随机】 这里的数据都是乱写的:happy:

vue3项目实例 --- 个人博客demo_第1张图片
vue3项目实例 --- 个人博客demo_第2张图片

添加博客页面

这里就是要能够内容编辑和博客内容同步显示【这里的文本域就是textarea,没有引入各种编辑工具】

vue3项目实例 --- 个人博客demo_第3张图片

vue3项目实例 --- 个人博客demo_第4张图片

这里实现很简单,就一个v-model,没有含量

博客预览

这里的设计因为没有数据,所以就简单使用的网站的文字

vue3项目实例 --- 个人博客demo_第5张图片

这里真实的时候,会按照格式显示,因为网站上面只有title和body,所以只是为了展示正常的跳转,没有深究

博客编辑删除

点击博客编辑后,应该实现的效果就是,能够获取到博客的内容,然后基于之前的内容修改

vue3项目实例 --- 个人博客demo_第6张图片

大概这个demo就是这个样子,非常的简单,实现要不了几个小时,就几个组件就完事了,记录的目的只是因为这个过程还是完整的,学完vue了,纪念一下【虽然我是一个后端】

demo中遇到的问题

Component “default” in record with path “/blog/:id” is not a valid component

这个问题非常的easy,原因可能是因为组件没有进行路由绑定,博主是因为在路由规则中将component单词拼错了,也是导致没有绑定成功

下拉列表没有显示所有的数据

在this.data中准备的有athor的数据,使用v-for指令没有正确拿到所有的数据,是因为v-for指令绑定的位置应该是select标签,而不是option标签