快速页面demo搭建

1,搭建路由

系统路由配置文件分五种视角及五个路由文件(eg:@/src/router/normalUserRouter.js),每次c更改路由则需要重新登陆账才有效,(缓存的原因)。

(1)搭建一级路由(只有一个( children长度为1)子菜单会渲染成一级页面)

1

(2)搭建分组路由(isGroupMenu)

2

(3)搭建三级菜单:(定制化)当前只有应用开发才有三级目录,且渲染的页面固定,只需要在应用视角下增加路由即可,在页面上增加name与之对应

3

(4)搭建隐藏菜单:配置 hidden: true,

2,页面结构

4

注解:

1.template:也叫模版占位符,帮助我们包裹元素,在循环过程中不被渲染在页面上,且每个页面有且只有一个根元素

2.props是来自父级,而data中的是组件自己的数据。作用域是组件的本身。 这两种数据都可以在模板template以及计算属性和mothods中使用

3,js

1.使用vuex,

(1)页面引入:import { mapGetters, mapMutations } from 'vuex';

eg:使用vuex方法则在methods中注入:...mapMutations(['SET_VIEW_TYPE',...........]),

(2)当前使用较多的vuex,视角和当前信息,菜单等使用占多,

(例如:视角变量页面中使用如下):

        IS_SUPER_VIEW: this.$store.getters.IS_SUPER_VIEW,

        IS_ORGANIZATION_VIEW: this.$store.getters.IS_ORGANIZATION_VIEW,

        IS_DEPARTMENT_VIEW: this.$store.getters.IS_DEPARTMENT_VIEW,

        IS_PROJECT_VIEW: this.$store.getters.IS_PROJECT_VIEW,

vuex变量

2,父子组件传值和方法调用

(1)父组件->子组件:通过子组件props属性来传递数据, props是一个数组,属性的值必须在组件中通过props属性显示指定,

父组件->子组件

子组件:<Hello v-bind:msg="您好"></Hello>-===<Hello my-Msg="您好"></Hello>

2.子组件->父组件:父组件给子组件传递一个函数,由子组件中通过$emit()触发自定义事件事件


子组件->父组件的方法

3.非父子组件通讯:

aaa.$on('名称一致',function(id) {// ...})

aaa.$emit('名称一致,1)

4.通过vm.$refs.aaa 获取元素和该组件

5,provide和inject注入

4,less/css

1,公用的样式(距离和flex布局)

(m,p)(0,5,10,15,20,25)=>(margin,padding):(0,5,10,15,20,25)px;

(m,p)((t,l,r,b)(0,5,10,15,20,25)=>(margin,padding)-(top,left,right,bottom):(0,5,10,15,20,25)px;

flex-center(between,start,around)(使一级child水平居中;

flex-column-center(between,start,around)(使一级child垂直居中);

使用:

6

注:别写行类型样式,不好维护

2.elemnt-Ui:element组件

(1)布局,可以采用shan ge mo shi

(2)目前仅限elementUi图标,但可以拓展

5,接口数据渲染

1.引入接口文档

import { OrganizationService ,HostService,...} from "@/services";

import Message from "@/views/Messages.js";

接口


6,vue基础补充

Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性.当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM

v-if指令:v-if是条件渲染指令,v-if指令是根据条件表达式的值来执行元素的插入或者删除行为,他的值可以是一个bool属性,也可以是一个返回bool的运算式

v-show指令:v-show也是条件渲染指令,和v-if指令不同的是,使用v-show指令的元素始终会被渲染到HTML,它只是简单地为元素设置CSS的style属性。

v-if/v-else指令:v-else元素必须立即跟在v-if或v-show元素的后面——否则它不能被识别

v-for=“item in Arry”指令:v-for指令基于一个数组渲染一个列表,使用 v-for 的时候提供 key 属性,以获得性能提升

v-bind指令:v-bind:aaa指令可以在其名称后面带一个参数(简写  :aaa=""),中间放一个冒号隔开,指令将aaa属性和vue实例变量进行绑定,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM

v-on指令:v-on指令用于给监听DOM事件,简写:@click="",可以增加修饰符()

v-text指令:更新DOM对象的 textContent

v-html:更新DOM对象的 innerHTML

v-model:在表单元素上创建双向数据绑定,监听用户的输入事件以更新数据

v-once:vue只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。

7. vue的生命周期

生命周期钩子函数的定义:从组件被创建,到组件挂载到页面上运行,再到页面关闭组件被卸载,这三个阶段总是伴随着组件各种各样的事件,这些事件,统称为组件的生命周期函数!简单说:一个组件从开始到最后消亡所经历的各种状态,就是一个组件的生命周期,Vue在执行过程中会自动调用生命周期钩子函数.

1.beforeCreate():在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用,

2.created():可以调用methods中的方法、改变data中的数据,发送请求获取数据

3. beforeMounted():在挂载开始之前被调用

4.mounted():vue实例已经挂载到页面中,可以获取到el中的DOM元素,进行DOM操作

5. beforeUpdated():数据更新时调用, DOM 还未更新

6.updated(): DOM 已经更新完毕

7.beforeDestroy():实例销毁之前,可以执行清楚定时器等操作

8.destroyed():实例销毁,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除

附录:

(1)当前封装的公共组建和方法,

(1.Tools中时间转换,优美时间等

(2.跳转路由,根据视角不同,跳同一页面Tools.RouteJumpName('BranchJobsDetail')

(3.获取视角并带视角对应的ID: this.getCurrentViewTypeData().then(parmer => {});

(2)如何正确使用已存在的组件,注意你使用的组件需要传啥值!

(3)多写备注,少写行内样式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,185评论 0 25
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 9,513评论 1 52
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,140评论 0 1
  • 第一章 Vue概述 what? Vue是实现UI层的渐进式js框架,核心库关注视图层,简单的ui构建,复杂的路由控...
    fastwe阅读 695评论 0 0
  • 张天明这两天有些烦,因为不论他什么时候出门都会碰到那个乞丐。 那是个一只眼瞎的腿瘸老乞丐,左手总是拿着一个斑驳的搪...
    婉绾yang阅读 356评论 0 2