Vue 框架-03-鍵盤時間及健值修飾符
一、鍵盤事件,當按鍵盤時,在控制檯輸出提示
html 原始碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VueLearn-cnblogs/xpwi</title>
<!--引入自定義的樣式-->
<link rel="stylesheet" href="css/style.css" />
<!--引入 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>
js 原始碼:
//例項化 vue 物件
new Vue({
//注意程式碼格式
//el:element 需要獲取的元素,一定是 html 中的根容器元素
el:"#vue-app",
data:{
},
methods:{
logName: function(){
console.log("你這正在輸入名字!");
},
logAge: function(){
console.log("你這正在輸入年齡!");
}
}
});
上面程式碼是當使用者點選輸入框後,只要按下鍵盤就會在控制檯列印一次提示,實際應用的並不多,下面介紹當使用者按下Enter鍵時,才觸發
二、健值修飾符
下面在時間後面加上:.enter
就可以實現只監聽 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" />
<!--引入 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 (二)
上面資料繫結是在按下 輸入Enter鍵的時候,來回的同步資料,下面介紹另一種方式,實現雙向資料繫結
雙向資料繫結第二種方法:
原始碼 html 檔案:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>VueLearn-cnblogs/xpwi</title>
<!--引入自定義的樣式-->
<link rel="stylesheet" href="css/style.css" />
<!--引入 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>
原始碼 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);
}
}
});