vue.js中
1、== 用来比较或者判断两者是否相等,比较时可以自动转换数据类型。
=== 用来较为严格的比较,除判断数据是否相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false)。
2、!= 用来比较或者判断两者是否不相等,比较时可以自动转换数据类型。
!== 用来较为严格的比较,除判断数据是否不相等 ,还会判断两者数据类型是否相同,如不相同也不会转换数据类型,返回(false)。
const entityNo = (rule, value, callback) => { if (value === '' || value == null) { callback(new Error('请输入社会信用代码')) } else if (!checkNumAndWord(value)) { callback(new Error('请输入正确的社会信用代码')) } if(this.entityNo1 != value){ enterprise.checkEntityNo({entityNo:value}).then(res => { if(res.success){ if (res.data) { callback(new Error("社会信用代码已存在")) } else { callback(); } } }) }else{ callback(); } }
如上所示,如果在点击添加时,实际上不相等,但是仍然进不去,因为类型不同。
注意:一点要执行callback函数,否则校验不成功。
不能写成如下的样子:
const entityNo = (rule, value, callback) => { if (value === '' || value == null) { callback(new Error('请输入社会信用代码')) } else if (!checkNumAndWord(value)) { callback(new Error('请输入正确的社会信用代码')) } if(this.entityNo1 != value){ // if(this.dialogStatus === "create" || (this.entityNo1 && this.entityNo1 != value)){ enterprise.checkEntityNo({entityNo:value}).then(res => { if(res.success){ if (res.data) { callback(new Error("社会信用码已存在")) } else { callback(); } } }) } }