最近在开发交互比较友好的后台系统采用了vue-admin-element,同时也发现了一些自己没用过的语法和技术,特在此做下总结:
1.本次第一次使用到了fuse.js此包为用来模糊搜索的轻量级包,可对搜索结果的各个属性进行权重设置,结构支持较为深入可以严格搜索也可以模糊搜索;
2.路由的懒加载的书写方式为:const login = r =>
require.ensure([], () => r(require('@/views/login/index')), 'login')
3./deep/的css处理方法,用于scoped下只局限对全局的组件进行样式的更改
4.scss暴漏至外部充当变量的方法$text: #000;命名之后 使用:export{menuText:$text} 对外进行变量 的暴漏入下图:
5.Object.getOwnProperty用于返回对象的自有属性,包括可枚举和不可枚举的
Object.keys()返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名
Object.values()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值。
Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组
Array.entries方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。
迭代对象中数组的索引值作为 key, 数组元素作为 value。需要用for ... of来遍历新的对象
6.vuex中actions里的方法中第一个参数中我们可以获取,commit,state,dispatch
7.$nextTick,vue中的DOM更新是异步的,此函数提供在DOM更新后获取到更新的数据进行DOM操作
8.在router-link上绑定click事件是不会触发的,只有绑定到.native上才会触发
[email protected]/right/middle 代表鼠标的左,右,中键触发
10.@contextmenu触发右键弹出菜单
11.this.$router.replace({path: '/redirect'+ fullPath})重新导向路由刷新
12.rectObject = object.getBoundingClientRect();
rectObject.top:元素上边到视窗上边的距离;
rectObject.right:元素右边到视窗左边的距离;
rectObject.bottom:元素下边到视窗上边的距离;
rectObject.left:元素左边到视窗左边的距离;
13.样式中从根目录引入其他样式写法结构为“@import ''~@/文件夹”
14.this.$router.replace({path: '/redirect'+ fullPath})重新导向路由刷新
15.this.$el它指的是当前组件的的元素,在mounted之后才有
16.让flex在一行指定几个items,节点设置成横向flex布局,每个子节点设置百分比宽度
17.store中不同模块之间的调用方法,属性需要涉及调用root级,如:dispatch('app/updateLocation',{key_root:data},{root:true});
18.在登录页,因自动登录跳转时,需在router中拦截并next({...to, replace: true}),阻止用户误操作跳转回到登录页或者无限锁死的情况
19.在vue-cli中,我们在webpack.base.config.js中给scss配置loader后,当在此加载会报错Invalid CSS after "...load the styles": expected 1 selector or at-rule, was "var content = requi"这是因为项目加载了2此sass-loader,第一次是在build/utils.js中,将这里得loader注释掉即可:
20.在实现多层组件监听,在中间层组件里给下游组件传递v-bind="$attrs" v-on="$listeners" 给中间层组件自己加上属性inheritAttrs: false
21.在使用el-table的时候,当我们需要在table绑定的data里动态添加属性,并让此属性与input双向绑定,如下图
但这样单纯的添加并不能实现数据的双向绑定,需要调用vue的$set激活此属性的响应机制:
再有种情况,外部再想el-table里的data里push新的数据的时候 ,没错我们需要再次对新的data进行$set来激活动态添加的属性的响应机制:
当el-table里的双向绑定的动态属性变动时,无需对tableData进行再次$set自动响应
22.此次开发需要用到一些动画,现在一些动画进行初步的一些总结:transition对dom的属性进行监督,当属性发生数值变化(自适应不会触发)的时候会触发transiton动画;animate为自定义动画的,可以分步,可以多个队列,分两种形式为C3形式写在css中的和Vue中包装过的transition标签,触发机制是在DOM元素出现和消失的时候
23.关于el-table在flex盒子布局下不自适应的问题:https://blog.csdn.net/weixin_30270561/article/details/99082260
24.对于在el-table中的拓展项template标签包裹中,必须讲slot-scope="scope"属性添上,否则该template下的内容不会随内容响应更新