您的位置:首页 > 产品设计 > UI/UE

vue2.0 之事件处理器

2017-06-26 21:47 295 查看

事件绑定v-on(内置事件)



<template>
<div>
<a v-if="isPartA">partA</a>
<a v-else>no data</a>
<button v-on:click="toggle">toggle</button>
<input @keydown.enter="onkeydown">
</div>
</template>

<script>
export default {
data () {
return {
isPartA: true
}
},
methods: {
toggle () {
this.isPartA = !this.isPartA
},
onkeydown () {
console.log('on key down')
}
}
}
</script>

<style>
html {
height: 100%;
}
</style>




回车,输出如下结果



备注:v-on简写为@

事件绑定v-on(自定义事件)

子组件hello.vue

<template>
<div>
{{ hello }}
<button @click="emitMyEvent">emit</button>
</div>
</template>

<script>
export default {
data () {
return {
hello: 'i am component hello'
}
},
methods: {
emitMyEvent () {
this.$emit('my-event', this.hello)
}
}
}
</script>

<style scoped>/**/
h1 {
height: 100px;
}
</style>


App,vue

<template>
<div>
<a v-if="isPartA">partA</a>
<a v-else>no data</a>
<button v-on:click="toggle">toggle</button>
<input @keydown.enter="onkeydown">
<comH @my-event="onComhMyEvent"></comH>
</div>
</template>

<script>
import comH from './components/hello.vue'
export default {
components: {
comH
},
data () {
return {
isPartA: true
}
},
methods: {
toggle () {
this.isPartA = !this.isPartA
},
onkeydown () {
console.log('on key down')
},
onComhMyEvent (parmformA) {
console.log('onComhMyEvent' + parmformA)
}
}
}
</script>

<style>
html {
height: 100%;
}
</style>




点击emit按钮,输出结果如下



1、父组件App.vue引入hello.vue子组件

2、子组件定义emitMyEvent方法,调用父组件my-event自定义事件

3、App.vue中触发onComhMyEvent方法,在控制台生成日志内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: