写在前面:学习VUE也一段时间了,不过只是零散的在学,知识点一个一个的学,但是这样是不够的,没有经历过沙场的士兵称不上真正的士兵。于是自己打算写一个真实的VUE项目,从系统选择,又考虑了一部分实用性。项目还在一点一点的编写中,中间遇到了很多的问题,但是绝大部分都是由于自己基础不牢固或者知识储备不够导致的。这里做一个阶段性总结,方便以后查阅也方便知识巩固。文中有理解错的概念或者说的不好的地方还望大家不吝赐教指导,我会积极改正的,嘿嘿。
相信着手项目实战的小伙伴也一定都有了基础的知识储备。我曾经以为一个项目,无非就是 前端+后端+数据库 这样的组成模式,复杂的系统加一些中间件做一些缓存、消息分发的处理。只要学点前端知识,学点后端知识,再来点sql,一个项目也就写的七七八八了。但是这些天来,彻底改变了我的这种想法。只看湖的表面是不能知道深浅的,要涉足其中,要置身事内。
在这里我想先以自己的理解几个在写项目时不清楚或者根本就没听说不知道的概念,也不怕大家笑话说这家伙这东西都不知道就来写项目哈哈哈哈哈哈哈哈哈。有写的不好或者理解有错误的地方也望大家批评指正。
刚开始的话我是想起哪里就写哪里,想起来给新建一个组件了就去建一个组件,想起来给主页面填点东西了就加点东西。没有什么逻辑的概念。后来慢慢地文件多了起来,立马就变得很乱了,通常该一个东西,牵连着很多地方,往往写完一个地方就会报错,然后就需要排查修改,这样是很废时间的。现在总结下来我的编写思路大体如下:
多名称的文件夹用 - 连接,例如:folder-name
多名称的文件用驼峰命名,例如:fileName
vue文件字母都大写(vue文件最好至少由两个字母组成) 例如:FileName
路由地址用 - 连接,例如: router-path
路由地址的名字与组件名称一样,首字母大写,例如:RouteName
函数、类、用驼峰命名,例如: functionName、className
以上命名仅供参考,不管大家用什么样的命名方式,统一起来的才是最好的,适合自己的才是最好的,习惯要在一开始就养成。
再一个就是如何进行点击切换路由地址或者路由地址组件的位置。目前的话我用的比较多的是标签跳转< router-link :to=“{name:‘RouteName’}”>和编程式跳转 this.$router.push()
@click="routeJump('path')"
我将跳转的方式写成了一个函数这样方便调用,传递的参数为路由的地址。
routeJump(path){
this.$router.push(path)
}
关于路由组件展示位置,你可以把他把他的就当做是一个标签,我将 router-view 标签放在哪,接下来的点击就会切换哪里。
就目前来看,我们在写代码时,多数用的都是一些开源的框架,我们在其基础上进行我们想要的样式或者功能的变更。对于框架的理解,我是这么想的,把编写项目当做是在建一所房子,基础的代码语法类似于砖块和水泥,而这框架则是别人已经砌好的墙体,我们把别人的墙体直接拿来搭建房子肯定要比自己用水泥和砖来垒墙快的多,而这墙体也分好坏和轻便之分,这就是咱们的各个框架的优劣了。我这里用到的前端框架是 Element UI 。用框架搭建项目的难点在于对于这个框架的掌握程度,有的时候我们修改一块砖的位置,整面墙可能就塌了,所以我们在对框架进行调整时,一定要先熟悉框架的使用,了解清楚里面各个元素和标签的作用或功能。
//这里用了插值语法,通过我们定义的getJs函数获取到js,并展示在这个位置,nextTick在这里的作用是进行延迟调用,这样就可以获取到对应的属性
{{this.$nextTick(getJs)}}
//@在这里的意思是指向APP.vue的文件位置,以它的位置为路径起点,require在这里的作用是获取到外部的js文件
getJs(){
let scriptPath = require('@/script/home.js')
return scriptPath
}
以上作为第一阶段的总结吧,后面会继续更新深入的编写以及在编写过程中遇到的各种问题,文中有写的不好的地方,还希望大家能够批评让我改正。