Vue watch 监听手机号输入完毕后请求数据

Bac: 需要在用户输入手机号之后,调用后台接口去获取对应该手机号的数据情况

思路是:监听用户输入手机号,当输入的手机号长度 = 11 的时候,此时再去请求接口。

在这里监听学习到了两种方式:

一、watch 监听 计算属性的值

watch:{
          customerMobile (val, oldval) {
            if (val.length === 11) {
              this.handleCustomerChange(val)
            }
            // clearTimeout(this.timeout)
            //   this.timeout = setTimeout(() => {
            //     this.handleCustomerChange(val)
            //   }, 500)
          }
        },
 computed : {
          customerMobile () {
            return this.addForm.mobile
          }
    },

  methods: {

// 输入手机号,客户名称联系人联动

handleCustomerChange(){

this.$http.get(`${window.SITE_CONFIG['baseURL']}/presale/presalelist/getDataByMobile`,

{

params:{

mobile: this.addForm.mobile

}

})

.then(data => {

if (data.result.code === 0){

this.addForm.username = data.result.data.customerName

this.addForm.linkman = data.result.data.name

} else {

this.$message({

message: data.result.msg,

type: 'error',

duration: 1500

})

}

})

}

}

二、watch直接监听某个对象的属性

watch:{
          'addForm.mobile' : function(val, oldval){
              if (val.length === 11) {
              this.handleCustomerChange(val)
            }
          }
       },