这是我参与 8 月更文挑战的第 9 天,活动详情查看: 8月更文挑战
一、箭头函数
在Vue中箭头函数相当于匿名函数,并且简化了函数定义。
(1) 种类一
只包含一个表达式,省略{ }花括号和return。
x => x * x
相当于
function(x){
return x*x;
}
(2) 种类二
包含多条语句。
valid => {
console.log(valid)
}
相当于
function(valid){
console.log(valid)
}
当参数多于1个时,需要用括号()括起来。
(x,y) => x + y
如果要返回一个对象,就要注意,如果是单表达式,这么写的话会报错:
// SyntaxError:
x => { foo: x }
改为:
// ok:
x => ({ foo: x })
二、Promise对象
在Vue中Promise对象代表了未来将要发生的事件,用来传递异步操作的信息。
Promise对象代表一个异步操作,有三种状态:
- Pending:初始状态,不是成功或失败状态
- fulfilled: 操作成功完成状态
- rejected:操作失败状态
Promise {pending}需要用then或async await接收。
例如:
// 定义一个变量直接a() 赋值给 b
let b = this.a()
console.log(b) //这里就会返回 Promise {<pending>}
(1) 改用then接收
let b = this.a()
.then(res =>{
//.then是接收正确返回的信息
console.log(res) // {...}
})
.catch(err =>{
// .catch 返回报错信息
console.log(err)
})
(2) 改用async await接收
async c(){
let b = await this.a()
console.log(b) // 现在就是正确返回了 {...}
}
三、position
css中position可选参数包括:
- static: 无特殊定位,对象遵循HTML定位规则
- absolute : 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过css z-index属性定义。此时对象不具有边距,但仍有补白和边框。绝对定位可以重叠。
- relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置。相对定位不可以重叠。使用相对定位时,无论元素是否进行移动,元素依然占据原来的空间。因此,移动元素会导致它覆盖其他框。