9 vue之事件处理(过滤、事件修饰符、按键修饰符)
事件处理
1.事件
2 change 和 blur 的区别
change 和 blur 最本质的区别:
如果输入框为空,失去焦点后,change不会触发,但是blur会触发
3 input事件、change事件、blur事件
当输入框进行输入的时候 触发的事件
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="./js/vue.js">script>
head>
<body>
<div class="app">
blur:<input type="text" v-model="username" @blur="handleBlur">
div>
body>
<script>
var vm = new Vue({
el: '.app',
data: {
username: '',
},
methods:{
// handleInput(){
// console.log(this.username)
// },
// handleChange(){
// console.log(this.username)
// },
handleBlur(){
console.log(this.username)
}
}
})
script>
html>
一、过滤案例
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="./js/vue.js">script>
head>
<body>
<div class="app">
<input type="text" v-model="myText" @input="handledInput">
<p v-for="data in newDataList">{{data}}p>
div>
body>
<script>
var vm = new Vue({
el: '.app',
data: {
myText: '',
dataList: ['a', 'at', 'atom', 'be', 'beyond', 'cs', 'csrf'],
newDataList: ['a', 'at', 'atom', 'be', 'beyond', 'cs', 'csrf'],
},
methods: {
// handledInput() {
// var _this=this
//
// this.newDataList = this.dataList.filter(function (item) {
// console.log(item)
// console.log(_this.myText)
// return item.indexOf(_this.myText)>-1
//
// })
//
// }
// es6 箭头函数,处理this指向的问题
handledInput() {
this.newDataList = this.dataList.filter(item=>{
return item.indexOf(this.myText) > -1
})
}
}
})