编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

vue实战课程二(登录、主界面页面和导航菜单的实现)

wxchong 2024-09-12 22:19:11 开源技术 9 ℃ 0 评论

源码地址:https://gitee.com/itsoft7/itbi-vue

一、实现目标

  1. 登录页面的实现
  2. 主界面的布局
  3. 导航菜单的实现

二、了解vue的目录结构

浅谈一下vue的目录结构,对vue小白用,大神请绕过。项目建立后,脚手架自动根据模板生成了文件目录结构,具体文件结构可以在网上可以搜索到,在这里就不再赘述了,我只针对重要的几个进行说明。

  1. index.html : 是项目的入口,是随后就被实例中的组件中的模板中的内容所取代,所以我们会看到有那么一瞬间会显示出index.html中正文的内容。而index.html中的Title部分不会被取代,所以会一直保留。比如可以实现加载Loading...等
  2. main.js:是项目的主程序,在这里很多功能要实现,实例化Vue、初始化及存储全局变量、项目用的组件引入、样式文件引入等。
  3. app.vue:是项目的主组件,所有页面都是在App.vue下进行切换的。也是整个项目的关键,app.vue负责构建定义及页面组件归集。

三者之间的联系是什么?

从上图简单看出三者之间联系,同时也体现出来vue的单页面模式,何为单页面应用(SPA),通俗一点说就是指只有一个主页面的应用(核心:index.html,main.js,app.vue),浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在app.vue(<router-view/>)。开发的每个模块都是一个组件,然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新组件资源,就是通常所说的不是全面页面刷新。单页面优缺点并存

单页面的优点:

  • 用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小。
  • 前后端分离。
  • 页面效果会比较炫酷(比如切换页面内容时的专场动画)。

单页面缺点:

  • 不利于seo。
  • 导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)。
  • 初次加载时耗时多。
  • 页面复杂度提高很多。

三、界面实现

四、 实现的技术点

1.样式表使用了scss : 项目采用的lang="scss",后报错TypeError: this.getResolve is not a function at由于当前sass的版本太高,webpack编译时出现了错误,这个时候只需要换成低版本的就行,下面说一下修改方法,很简单,如下,找到package.json和package-lock.json文件,里面的 "sass-loader"的版本更换掉 就行了,换成如下版本"sass-loader": "^7.3.1",

2.路由模式采用了“history”:这样去掉了url地址中#号,具体代码需要修改router文件夹的index .js。

采用这种模式时,发布部署的时候一定要需要nginx的配合,后面文章会专门讲。

3.图标使用svg格式:

第一步:下载 "svg-sprite-loader": "^6.0.7",

第二步:修改配置文件

第三步:参照源码

4.使用elementUI:这ui使用也比较简单,具体使用方法可以通过官网了解,同样先下载依赖,然后在main.js重要初始化加载。

/*ElementUI*/
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

其中element-ui/lib/theme-chalk/index.css 是默认样式表,可以在官网按照自己喜欢的风格生成样式表,下载下来后单独引用即可,在使用过程需要自定义修改样式的需要单独自己创建一个样式文件,在默认样式表下单独自定义样式表,自定义的样式这样就可以覆盖默认的了,不建议直接默认的样式表上去修改。

4.Layout:layout是布局容器,可以根据应用场景定义自己的布局,其结构是:

定义好后layout后如何和视图页面进行关联?在路由文件进行配置

五、 总结

该文章不是一个演示文章,代码也不是为了写文章而写,我是想通过实际的项目给大家进行分享,代码已经完全公开,会不断的持续更新。

目前正在研究在vue使用mxgraph画流程图,正在研究中......

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表