因为一些组件,需要封装好一些方法,让调用者自定义,所以会用到回调函数,先看下一个列子
(this.$refs[formName] as any).validate((valid: boolean) => {
console.log(valid)
if (valid) {
this.$router.push({
name: 'index'
})
} else {
console.log('error submit!!');
return false;
}
});
这里是不是很熟悉,对这里就是element ui 里面封装好的form表单提交的验证,这里validate是组件的一个验证方法,也是个回调函数,这里的valid是 validate里面回调一个方法
function validate(callback :any){
// 逻辑处理
callback(true) // 或者 false
}
所以上面的valid会出现true或者false
再举一个简单的列子
function main(callback: any,flag: boolean) {
console.log(123)
callback(flag)
}
main((x: any) => { // 调用main方法,里面的参数即可回调到 mian方法里面
console.log(x)
},true)