[Vue warn]: Error in event handler for "el.form.blur": "TypeError: callback is not a function"解决
callback的简单理解调用一次callback相当于调用一次函数,比如:function f(x) {console.log(x)}function testCallBack(callback) { //关键字callback,表示这个参数不是一个普通变量,而是一个函数const reg = /^[1-9]*[0-9]?(\\.[0-9]*)?$/;if(val...
·
callback的简单理解
调用一次callback相当于调用一次函数,比如:
function f(x) {
console.log(x)
}
function testCallBack(callback) { //关键字callback,表示这个参数不是一个普通变量,而是一个函数
const reg = /^[1-9]*[0-9]?(\\.[0-9]*)?$/;
if(value==''||value==undefined||value==null){
callback();//不传入任何函数名,相当于不执行任何函数
}else{
if (!reg.test(value)){
callback(new Error('请输入正确的价格,保留两位小数'));//相当于执行new Error这个函数
} else {
callback(c);// 相当于以c作为参数调用函数,由下面的调用可知,这里执行的是f函数,因为我们传进来的函数名是f(),所以此行相当于调用一次f(c)
}
}
}
var c = 0
writeFile(f) // 函数f作为一个参数传进writeFile函数
下面进入正题,vue.esm.js?efeb:628 [Vue warn]: Error in event handler for “el.form.blur”: "TypeError: callback is not a function"的解决办法
vue中使用callback,如下使用会出现问题:
callback作为第三个形参,问题可以解决,正确用法:
export function validateFloat(aaa,value,callback) {
const reg = /^[1-9]*[0-9]?(\\.[0-9]*)?$/;
if(value==''||value==undefined||value==null){
callback();
}else{
if (!reg.test(value)){
callback(new Error('请输入正确的价格,保留两位小数'));
} else {
callback();
}
}
}
综上,在vue.js中,callback的使用必须作为函数的第三个形参
更多推荐
已为社区贡献1条内容
所有评论(0)