# Vue-ivew **Repository Path**: github-31301552/Vue-ivew ## Basic Information - **Project Name**: Vue-ivew - **Description**: vue+ivew搭建项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-10-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 项目名字vue-project; 项目目的:制作一个后台的博客管理系统 技术栈:Vue iview Nodejs axios cavas Vue-router iview 项目开发大致流程: 1、首相利用node包管理工具将vue项目搭建,然后进行项目初始化 2、设置路由 博客管理系统大致分为三大栏目: 1)用户管理模块 2)用户登录模块 3)博客管理模块 3、在用户管理模块中技术点 1)主要有增删改查的功能这里有个就是修改当前数据的时候需要将当前用户的信息重新载入到表单中去,但是在ivew中目前没有发现有什么好的方法,只能通过单击的时候具有一个内置的params的属性在params.row可以获取这一行的属性然后一一赋值 2)全选多选删除功能,因为nodejs支持在url后接收一个数组我的思想是将选中的id存储在一个对象中,传入到后端,然后在后端进行循环遍历进行删除(但是在删除后会不定时出现从数据重现新载入的请求失败,初步猜测:for循环,以及多选按钮的原因;待解决) 3)对数据进行分页的操作:这次项目中重新对数据分页有了一定的了解,知道了无论是什么框架以及组件,以及方法,只要能了解到他的所有的参数就能很好的入门;(由于时间匆忙数据请求与前端判断方面未做细致的优化,比如数据未请求成功获取到前端就显示成功的细节问题) 4、博客管理系统中国你技术的难点: 1)在数据的显示方向是依赖于用户模块的所有没有多大的改动 2)在博客文章的管理中利用了树的分类:每一篇文章都具有一个类别,这里首先将树利用组件以及nodejs中的 模块的依赖创建了一个可以无限递归的树,这里需要注意的是已入mongoose-materialized,模块对在数据模型中引入对数据进重构, 这样的话这个树无论是子树还是父树都是唯一的一个对象,但是在添加子树的时候需要知道自己的父亲的id是多少,这里引入的模块就具备了一些固有的数据模板,在查找的时候在后台进行一个 reverseTree的方法进行tree的递归查找,这是后台的管理知道有这个方法就可以 3)在博客中的评论管理系统:由于我的评论页面和文章管理页面是两个不同的组件以及不同的路由,所以我在使用的思考到两种将文章的id传到评论页面进行评论数据的获取,第一个是:将id房子url中进行传递,第二种:利用vuex将文章id绑定到一个变量中,第三利用props和$emit进行子组件与子组件的传递 4)博客评论的两大技术难点,第一:根据id获取到的当前品论的信息进行再次查询,需要依据文章id以及当前查找条件(刚想到的) 第二:在文章中加入评论数据的功能(后端),思路,将评论的数据模板引入到文章的控制器中然后,进行遍历查找,但是由于js的for循环 快于db的操作,所以,需要使用到Async异步模块方法见本页上面。 3、用户登录页面:用户登录页面需要用到vuex的状态管理系统,(目前还没用到)才拥有更好的拓展性,在使用的时候,可以将用户的登录状态进行全局的发布,可以有效的防止跳过登录验证 4、待拓展功能: 1)图片上传功能,保存带事件戳的路径 2)富文本编辑器 3)用户登录的模块,将每个用户的操作独立开来,比如用户头像等,之后用户注册也要修改 4)一些验证以及功能以及界面优化 项目中遇到的坑: 1)路由问题 view-router这个标签是起到渲染的作用在使用时候会将组件中的所有内弄渲染到这个标签中 子路由的问题:目前理解:子路由的渲染必须在当前的父路由下操作才可以 2)axios的请求头问题 在使用axios的时候如果设置了请求头的话,需要做到以下几点: 1)写在入口的请求头,必须要正确,不正确会出现莫名的情况:“发送到后端的数据被处理成了键值对的字符型的左门,” 2)即使你在出现错误后在时候axios中重新写入请求头,也发现不了错误,因为入口定义的请求头的优先级高