天天看點

vue watch偵聽器案例 驗證内容

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <div>
      <span>使用者名:</span>
      <span>
      	//lazy 修飾符,input狀态發生改變時 change 事件之後進行同步:
        <input type="text" v-model.lazy='uname'>
      </span>
      <span>{{tip}}</span>
    </div>
  </div>
  <script type="text/javascript" src="js/vue.js"></script>
  <script type="text/javascript">
    /*      
      偵聽器
      1、采用偵聽器監聽使用者名的變化
      2、調用背景接口進行驗證
      3、根據驗證的結果調整提示資訊
    */
    var vm = new Vue({
      el: '#app',
      data: {
        uname: '',
        tip: ''
      },
      methods: {
        checkName: function(uname) {
          // 調用接口,但是可以使用定時任務的方式模拟接口調用
          var that = this;
          setTimeout(function(){
            // 模拟接口調用
            if(uname == 'admin') {
              that.tip = '使用者名已經存在,請更換一個';
            }else{
              that.tip = '使用者名可以使用';
            }
          }, 2000);
        }
      },
      watch: {
        uname: function(val){
          // 調用背景接口驗證使用者名的合法性
          this.checkName(val);
          // 修改提示資訊
          this.tip = '正在驗證...';
        }
      }
    });

  </script>
</body>
</html>