Vue 框架之鍵盤事件、健值修飾符、雙向數據綁定

一、鍵盤事件,當按鍵盤時,在控制檯輸出提示


html 源碼:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>VueLearn-cnblogs/xpwi</title>
    <!--引入自定義的樣式-->
    <link rel="stylesheet" href="css/style.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" />
    <!--引入 vue 核心 js-->
    <script type="text/javascript" src="js/vue.js" ></script>
     
  </head>
  <body>
     
    <!--vue-app 是根容器,定義一個 id,然後在 js 裏操作-->
    <div id="vue-app">
       
      <!--name 具體的值是在 js 中定義的-->
      <h2> 鍵盤 Events </h2>
      <label>姓名:</label>
      <input type="text" v-on:keyup="logName" />
      <label>年齡:</label>
      <input type="text" v-on:keyup="logAge" />
       
     
    </div>
     
    <!--引入自己的 js,注意必須寫在 body 標籤裏最後,因爲必須先加載你的整個 HTML DOM,纔回去執行 vue 實例-->
    <script type="text/javascript" src="js/appEvent.js" ></script>
  </body>
</html>
//前端全棧學習交流圈:866109386
//面向1-3經驗年前端開發人員
//幫助突破技術瓶頸,提升思維能力

js 源碼:

//實例化 vue 對象
new Vue({
  //注意代碼格式
  //el:element 需要獲取的元素,一定是 html 中的根容器元素
  el:"#vue-app",
  data:{
  },
  methods:{
    logName: function(){
      console.log("你這正在輸入名字!");
       
    },
    logAge: function(){
      console.log("你這正在輸入年齡!");
       
    }
  }
});

上面代碼是當用戶點擊輸入框後,只要按下鍵盤就會在控制檯打印一次提示,實際應用的並不多,下面介紹當用戶按下回車鍵時,才觸發

二、健值修飾符

下面在時間後面加上:.enter
就可以實現只監聽 enter 鍵,就可以實現,當用戶在輸入完成,按下回車鍵時,觸發我們自定義的事件

<input type="text" v-on:keyup.enter="logName" />

三、雙向數據綁定 input,selecet,textarea

適用:input,selecet,textarea 三種標籤
js 文件種拿到 html 文件種輸入的數據,然後 html 中拿到 js 文件中的數據



源代碼 html 文件:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>VueLearn-cnblogs/xpwi</title>
    <!--引入自定義的樣式-->
    <link rel="stylesheet" href="css/style.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" />
    <!--引入 vue 核心 js-->
    <script type="text/javascript" src="js/vue.js" ></script>
     
  </head>
  <body>
     
    <!--vue-app 是根容器,定義一個 id,然後在 js 裏操作-->
    <div id="vue-app">
       
      <!--name 具體的值是在 js 中定義的-->
      <h2> 鍵盤 Events </h2>
      <label>姓名:</label>
      <!--加一個 ref 用來在 js 文件中拿到 input 標籤中輸入的內容-->
      <input ref="userName" type="text" />
      <label>年齡:</label>
      <input ref="userAge" type="text" v-on:keyup.enter="notice" />
       
      <hr />
      <span>已確認信息:</span>
      <br />
      姓名:{{name}}<br />
      年齡:{{age}}
     
    </div>
     
    <!--引入自己的 js,注意必須寫在 body 標籤裏最後,因爲必須先加載你的整個 HTML DOM,纔回去執行 vue 實例-->
    <script type="text/javascript" src="js/appEvent.js" ></script>
  </body>
</html>

源代碼 js 文件:

//實例化 vue 對象
new Vue({
  //注意代碼格式
   
  //el:element 需要獲取的元素,一定是 html 中的根容器元素
  el:"#vue-app",
  data:{
    name : "",
    age : ""
  },
  methods:{
   
    notice: function(){
      //console.log("你這正在輸入年齡!");
      //this.name 是 js 文件上面定義的一個 name 變量
      this.name = this.$refs.userName.value;
      this.age = this.$refs.userAge.value;
      alert("姓名:" + this.name + " 年齡:" + this.age);
    }
  }
});

四、雙向數據綁定 input,selecet,textarea (二)

上面數據綁定是在按下 輸入回車鍵的時候,來回的同步數據,下面介紹另一種方式,實現雙向數據綁定



雙向數據綁定第二種方法:
源代碼 html 文件:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>VueLearn-cnblogs/xpwi</title>
    <!--引入自定義的樣式-->
    <link rel="stylesheet" href="css/style.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" />
    <!--引入 vue 核心 js-->
    <script type="text/javascript" src="js/vue.js" ></script>
     
  </head>
  <body>
     
    <!--vue-app 是根容器,定義一個 id,然後在 js 裏操作-->
    <div id="vue-app">
       
      <!--name 具體的值是在 js 中定義的-->
      <h2> 鍵盤 Events </h2>
      <label>姓名:</label>
      <!--加一個 ref 用來在 js 文件中拿到 input 標籤中輸入的內容-->
      <input ref="userName" type="text" v-model="name" />
      <label>年齡:</label>
      <input ref="userAge" type="text" v-model="age"/>
       
      <hr />
      <span>同步數據:</span>
      <br />
      姓名:{{name}}<br />
      年齡:{{age}}
     
    </div>
     
    <!--引入自己的 js,注意必須寫在 body 標籤裏最後,因爲必須先加載你的整個 HTML DOM,纔回去執行 vue 實例-->
    <script type="text/javascript" src="js/appEvent.js" ></script>
  </body>
</html>
//前端全棧學習交流圈:866109386
//面向1-3經驗年前端開發人員
//幫助突破技術瓶頸,提升思維能力

源代碼 js 文件:

//實例化 vue 對象
new Vue({
  //注意代碼格式
   
  //el:element 需要獲取的元素,一定是 html 中的根容器元素
  el:"#vue-app",
  data:{
    name : "",
    age : ""
  },
  methods:{
   
    notice: function(){
      //console.log("你這正在輸入年齡!");
      //this.name 是 js 文件上面定義的一個 name 變量
      this.name = this.$refs.userName.value;
      this.age = this.$refs.userAge.value;
      alert("姓名:" + this.name + " 年齡:" + this.age);
    }
  }
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章