Vue框架
Vue小案例 ---- 简单的个人博客【好看的样式可以再完善,主要是思路】
前面分享了vue3的大部分的知识,所以专门出一篇小小的文章实操一下;后面博主会基于vue + springBoot开发个人网站,届时会在github上开源
关于这个vue运用的小demo很easy; 主要实现的功能
这里为了不浪费时间,就简单弄了一下,页面也没有运用太多的CSS样式
这里的博客就是随机访问的一个可以返回json数据的网站:happy:; 因为这毕竟只是一个小demo,不值得再编写后端; 目的主要是使用vue【没有使用bootstrap和Element的样式】
这里demo样式真的一般,这里唯一提示的就是实现博客的标题为五颜六色,可以通过随机数来实现【每次刷新都可以变色】
这里就是点击进入项目的时候就会显示该页面,该页面会显示所有的博客,博客标题大写,并且内容为前100字,博客标题变色【随机】 这里的数据都是乱写的:happy:
这里就是要能够内容编辑和博客内容同步显示【这里的文本域就是textarea,没有引入各种编辑工具】
这里实现很简单,就一个v-model,没有含量
这里的设计因为没有数据,所以就简单使用的网站的文字
这里真实的时候,会按照格式显示,因为网站上面只有title和body,所以只是为了展示正常的跳转,没有深究
点击博客编辑后,应该实现的效果就是,能够获取到博客的内容,然后基于之前的内容修改
大概这个demo就是这个样子,非常的简单,实现要不了几个小时,就几个组件就完事了,记录的目的只是因为这个过程还是完整的,学完vue了,纪念一下【虽然我是一个后端】
这个问题非常的easy,原因可能是因为组件没有进行路由绑定,博主是因为在路由规则中将component单词拼错了,也是导致没有绑定成功
在this.data中准备的有athor的数据,使用v-for指令没有正确拿到所有的数据,是因为v-for指令绑定的位置应该是select标签,而不是option标签
v-for遍历的是标签包裹的部分,这里详单与就会遍历显示item; 像遍历列表的时候,指令放在ul上面,所以就会循环显示li项
这里是因为如果要使用的是数据,就应该使用v-bind进行数据绑定,不然就会默认当作字符串处理; 并且v-color绑定的是颜色,是字符串String类型的,那么双引号里面还有单引号
对于标题的彩色的实现,因为颜色可以表示为# + 6位数字,可以使用随机数实现
app.directive('rainbow',(el,binding) => {
// el.style.color = binding.value //binding是一个对象
el.style.color = '#' + Math.random().toString(16).slice(2,8) //这样就可以随机生成颜色,每一个可能都不一样
})
这里简单展示AddBlog.vue
添加博客
你的博客添加成功
博客总览
博客标题: {{blog.title}}
博客内容
{{blog.content}}
博客分类:
- {{item}}
作者: {{blog.author}}
这个demo就这样了,如果有什么问题欢迎交流