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(); } } }) } }