vue 项目其他规范
列表
- vuex数据管理
* 数据模块化:vuex数据管理-数据模块化- 数据适配:vuex数据管理-数据适配
- 数据共享:vuex数据管理-数据共享
- 路由优化
- keep-alive组件设置
- 保留滚动位置
链接:vue路由管理-保留滚动位置功能、按需加载模块名自定义
- webpack配置
- 按需加载包名称自定义
链接:vue路由管理-保留滚动位置功能、按需加载模块名自定义
- 按需加载包名称自定义
- z-index叠层规范
- 基础布局的唯一性
- 组件的相关规范
z-index叠层规范
- lever1:普通content:1-99;
- lever2:header、footer、广告、页面tips等在内容之上,但又与内容相关性较大的;层:100-199;
- lever3:返回顶部等页面工具类:200-299;
- lever4:popup、picker等浮在页面上的操作层:300-399;
- lever5:loading:400-499;
- lever6: toast等直接遮罩在页面上的warning、error信息:500-599。
基础布局
结构
- .page
- header
- footer
- content
规范
每个页面仅允许一组基础布局,这为组件加载、交互、分层提供挂载、容器等基础。
原因
如果出现多套,将会影响公共组件引入的准确性和灵活性;也会影响功能的扩展等。
示例:totop组件
从引入组件的角度上看,作为一个基础浮动的工具组件,不应该关注实际业务及根插销,直接动态加载到基础布局当中即可。如果有多个嵌套的基础布局,将需要更多的代码,来辨别其插入点,也会失去灵活性,所以从组件的角度,唯一布局很重要。
从功能角度上看,它需要监控页面的滚动位置,在这种布局下,其需要监控content的位置情况,如果出现多个基础布局,将影响功能的使用。
组件的相关规范
加载方式
a、业务组件:可根据业务需求选择相应加载方式;
b、基础组件:尽量使用动态加载的方式,如popup、pick、loading这些浮层组件。其优势如下:
- 可以对使用者(开发人员)屏蔽加载点;
- 防止叠层错乱(业务组件引入基础浮层组件,如果非动态加载,浮层将于内容层交错,导致样式叠层错乱,要做额外的hack等);
- 有利于单页跳转时,组件的统一清除。
数据流
- a、基础组件:使用props加载数据,不关注业务;
- b、业务组件:抽象业务组件的业务范围,抽象数据结构,从vuex中进行取值,加强vuex数据的复用及组件的复用。
如何区分业务组件和基础组件:以地址picker为例。其首先是基础的picker组件,可实现多列滚动,每次滚动都会产生一个唯一的结果数组,确认以后,返回该结果数组。该基础picker组件可以扩展成动态请求数据的地址picker,也可以是固定值的多级picker,到底需要哪种,就与业务相关。因此,地址picker,是对基础组件picker的扩展,其包含数据流的存取过程,及数据流的交互,异步请求等。
组件升级
- 接口:对于公共组件,多人的调用的业务组件,需要做到旧接口的兼容。
- 兼容方式:提供一个新旧接口交替期,在该时期,新旧接口并存,开发者将组件往新的接口上迁移,迁移完成之后,组件设计者,再将旧接口移除。
叠层的定义
公共组件,可以根据给出的z-index规范,给出组件的z-index叠层id;但其取值尽量在该组件类型叠层规范数值范围的中间值,便于同类型业务组件的向下向上叠层处理。
vue 项目其他规范的更多相关文章
- 团队开发前端VUE项目代码规范
团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658 一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致 ...
- 【转载】Vue项目中的文件/文件夹命名规范
文件或文件夹的命名遵循以下原则: index.js 或者 index.vue,统一使用小写字母开头的(kebab-case)命名规范 属于组件或类的,统一使用大写字母开头的(PascalCase)命名 ...
- Vue项目中的文件/文件夹命名规范
Vue项目中的文件/文件夹命名规范 0.2262018.09.21 16:01:09字数 820阅读 6979 文件或文件夹的命名遵循以下原则: index.js 或者 index.vue,统一使用小 ...
- 手把手教你搭建规范的团队vue项目,包含commitlint,eslint,prettier,husky,commitizen等等
目录 1,前言 2,创建项目 2,安装vue全家桶 3,配置prettier 4,配置eslint 5,配置husky + git钩子 6,配置commitlint 6.1,配置commitlint格 ...
- vue项目和django项目交互补充,drf介绍,restful规范
目录 一.vue项目与django项目的交互 二.drf(Django-restframework) 1. drf主要知识点 2. drf框架安装 3. web接口(WEB API) 4. restf ...
- Vue 项目实战系列 (一)
最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ...
- 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)
github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...
- vue 项目中实用的小技巧
# 在Vue 项目中引入Bootstrap 有时在vue项目中会根据需求引入Bootstrap,而Bootstrap又是依赖于jQuery的,在使用npm按照时,可能会出现一系列的错误 1.安装jQu ...
- 如何在VUE项目中添加ESLint
如何在VUE项目中添加ESLint 1. 首先在项目的根目录下 新建 .eslintrc.js文件,其配置规则可以如下:(自己小整理了一份),所有的代码如下: // https://eslint.or ...
随机推荐
- toast js
参考别人的,自己改写了下,很好用. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta ch ...
- 冲刺博客NO.4
今天开站立会议时,有一点分歧,原本我认为的隐私保护和其他人认为的不一样,在沟通后这部分功能达成共识. 今天做了什么:组员完成了用户输入部分,信息输入.添加了一些组件和活动完善界面. 遇到的苦难,界面 ...
- Delphi FastReport报表常用方法
Delphi FastReport报表常用方法 作者及来源: EasyPass - 博客园 收藏到→_→: 摘要: Delphi FastReport报表常用方法 点击这里! ...
- ASP.NET Core ef启用数据迁移
创建一个项目 通过Nuget获取EF Core相关的扩展包 appsettings.json 建立数据库连接串 创建数据库上下文EntityDbContext类,用于实体类映射数据库表 使用包管理器控 ...
- WPF实战案例-打印
在前段时间做了一下打印,因为需要支持的格式比较多,所以wpf能打印的有限分享一下几种格式的打印(.xls .xlsx .doc .docx .png .jpg .bmp .pdf) 首先为了保证exc ...
- AngularJs从数据库获取数据并显示
哈哈,昨天下午和今天早上,花上一些时间,学习AngularJs,仅是粗略预览一下.很好,非常好. 由于手上有开发ASP.NET MVC环境,就在这测试下,去数据库获取数据并显示数据. 数据库表创建,添 ...
- c#中的gcAllowVeryLargeObjects和OutOfMemoryException
什么是gcAllowVeryLargeObjects 在.net4.5中新增一个配置项 “gcAllowVeryLargeObjects” ,msdn解释如下: 在64位平台上,可以允许总共大于2千兆 ...
- 关于QT和SQLite以及XML
就关于qt连接使用sqlite折腾了一晚上.倒也不全是因为数据库连接的问题, 主要还是数据格式各自出问题. 原来的数据库是access, 为了导入linux下的sqlite, 我把其输出格式改成了xm ...
- [转]高端又易学的vbs表白程序了解一下
第一个. 打开txt文件,复制以下代码粘贴进去(可以修改中文部分,其它代码不要动!).保存并关闭txt文件. msgbox("做我女朋友好吗?") msgbox("房产证 ...
- C++ 设置Java 环境变量完整的例子
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <iostream& ...