摘要:如果添加属性不可避免,要使用方法。如果对象的属性名是动态的,可以在创造对象的时候,使用属性表达式定义。
为class绑定多个值</>复制代码
一些稍微优雅的技巧写法,并不是非的是es6,标题党了哈
普通写法
</>复制代码
:class="{a: true, b: true}"
其他
</>复制代码
:class="["btn", "btn2", {a: true, b: false}]"
一个值判断a或者判断b
普通写法
</>复制代码
if(flg === a || flg === b)
其他
</>复制代码
["a","b"].indexOf(flg) > -1
// 可以使用Array.prototype.includes() 返回 Boolean
if(["a", "b"].includes(flg)) {}
引用一个组件
普通写法
</>复制代码
import a from "./a.vue"
componets: {
a
}
node写法
</>复制代码
components: {
a: require("./a.vue")
}
V-FOR渲染
一般
</>复制代码
{{item.uuid}} //输出uuid字段
解构赋值
</>复制代码
{{uuid}} //直接解构赋值输出
CSS私有化
一般
</>复制代码
设置比较长的class类名区分,或者使用BEN等命名方法
css module
</>复制代码
style样式会存在$style计算属性中
</>复制代码
//调用方式
//$style是计算属性,所以也可以这样 bool为Bool表达式
</>复制代码
缺点: 生成一个独一无二的class类名,只能使用类名class控制样式
scoped
</>复制代码
解决办法</>复制代码
生成Hash属性标识.且根元素受父组件的scoped影响
</>复制代码
使用>>>深度选择器
</>复制代码
//寻找div下的样式,包括子组件样式
div >>> .h3 { }
对象操作
</>复制代码
对象尽量静态化,一旦定义,就不得随意添加新的属性。如果添加属性不可避免,要使用Object.assign方法。
</>复制代码
// bad
const a = {};
a.x = 3;
// if reshape unavoidable
const a = {};
Object.assign(a, { x: 3 });
// good
const a = { x: null };
a.x = 3;
</>复制代码
如果对象的属性名是动态的,可以在创造对象的时候,使用属性表达式定义。
</>复制代码
// bad
const obj = {
id: 5,
name: "San Francisco",
};
obj[getKey("enabled")] = true;
// good
const obj = {
id: 5,
name: "San Francisco",
[getKey("enabled")]: true, //属性表达式 6
};
数组、对象参数使用扩展运算符(spread)
连接多个数组
一般
</>复制代码
let arr1 = [1,2,3]
let arr2 = [4,6,7]
arr2 = arr2.concat(arr1)
spread 运算符
</>复制代码
let arr1 = [1,2,3]
let arr2 = [...arr1,4,6,7]
连接多个json对象
一般
</>复制代码
var a = { key1: 1, key2: 2 }
var b = Object.assign({}, a, { key3: 3 })
// 最后结果
{key1: 1, key2: 2,key3: 3 }
spread 运算符
</>复制代码
var a = { key1: 1, key2: 2 }
var b = {...a, key3: 3}
es6剩余参数(rest paramete)
</>复制代码
使用reset paramete是纯粹的Array实例
一般
</>复制代码
function a() {
console.log(arguments)
}
a(1,2,3)
es6
</>复制代码
function a(...args) {
console.log(args)
}
a(1,2,3)
判断数组是否包含指定值
</>复制代码
IE 任何系列都不支持
一般
需要自己写工具函数
es6
</>复制代码
var arr = [1,2,3]
console.log(arr.includes(1)); // true
console.log(arr.includes(4)); // false
顺序遍历对象key值
</>复制代码
IE 任何系列都不支持
es6
</>复制代码
var obj = { key1: 1, key2: 2, key3: 3 }
Object.keys(obj); // ["key1", "key2", "key3"]
顺序遍历对象value值
</>复制代码
IE 任何系列都不支持
es6
</>复制代码
var obj = { key1: 1, key2: 2, key3: 3 }
Object.values(obj); // [1,2,3]
一行书写多步操作
适用于只有两三行简单操作
旧
</>复制代码
var x = 1;
var y = 1
var z = x + y;
使用逗号操作符
</>复制代码
var z = (x=1, y = 1, x+ y)
</>复制代码
当你想要在期望一个表达式的位置包含多个表达式时,可以使用逗号操作符
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/108843.html
摘要:整理收藏一些优秀的文章及大佬博客留着慢慢学习原文协作规范中文技术文档协作规范阮一峰编程风格凹凸实验室前端代码规范风格指南这一次,彻底弄懂执行机制一次弄懂彻底解决此类面试问题浏览器与的事件循环有何区别笔试题事件循环机制异步编程理解的异步 better-learning 整理收藏一些优秀的文章及大佬博客留着慢慢学习 原文:https://www.ahwgs.cn/youxiuwenzhan...
摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...
写在前面 当大多数人Vue理解的炉火纯青的时候,你应该思考怎么让vue页面骚气起来,下面就我个人在接触Vue两年的时间里,在实际工作中门户网站在前端页面交互应用和技巧,炒几道小菜给大家分享一哈,我把它封装成一个项目vue-portal-webUI(github源码),不敢说是UI,但也是各种常见常遇到的情景吧,看懂代码需要一些vue、axios、es6、scss基础、数据基本上是mock,功能和场...
摘要:中一些意想不到的使用技巧持续更新,欢迎补充箭头函数返回对象一般的写法简洁的写法对象属性名不确定,需要动态的传入一般的写法简洁的写法复制一个对象,并重写其中的一些属性一般的写法简洁的写法数组解构为函数参数一般的写法简洁的写法向一个数组添加另一 js 中一些意想不到的使用技巧(持续更新,欢迎补充) 1. 箭头函数 => 返回 map 对象 // 一般的写法 const makeMap = ...
阅读 2327·2021-09-30 09:47
阅读 1094·2021-08-27 13:01
阅读 3037·2019-08-30 15:54
阅读 3772·2019-08-30 15:53
阅读 914·2019-08-29 14:07
阅读 857·2019-08-28 18:16
阅读 904·2019-08-26 18:37
阅读 1504·2019-08-26 13:27