1.普通事件
@click,@input,@change,@xxx等事件,经过this.$emit(‘xxx’,…)触发

写法案例:

<div id="example-3"><button v-on:click="say('hi')">Say hi</button><button v-on:click="say('what')">Say what</button>
</div>new Vue({el: '#example-3',methods: {say: function (message) {alert(message)}}
})

2.修饰符事件
@input.trim,@click.stop,@submit.prevent等,通常用于原生HTML元素,自定义组件须要自行开发支持

写法案例:

<!-- 阻止单击事件冒泡传播 -->
<a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a><!-- 只有修饰符 -->
<form v-on:submit.prevent></form><!--表单修饰符-->
1).lazy在默认情况下, v-model 在每次 input 事件触发后将输入框的值与数据进行同步 。你可以添加 lazy 修饰符,从而转变为使用 change事件进行同步。适用于输入完所有内容后,光标离开才更新视图的场景。2).trim如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符:<input v-model.trim="msg">
这个修饰符可以过滤掉输入完密码不小心多敲了一下空格的场景。需要注意的是,它只能过滤首尾的空格!首尾,中间的是不会过滤的。3).number如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符:<input v-model.number="value" type="text" />

案例

子组件事件

<template><div>name:{{name}}<input :value="name" @change="handChange"/><div @click="divClick"><button @click="handClick">重置成功</button><button @click.stop="handClick">重置成功</button></div></div></template>
<script>
export default {name:"Event",props:{name:String},methods:{divClick(){this.$emit("change","");},handChange(e){//触发父组件的change事件this.$emit("change",e.target.value);},handClick(){}}}
</script>
<style scoped></style>

在父组件中应用事件

<template>
<div id="app">{{msg}}<Event@change="onChangeVal":name="name"/></div>
</template><script>
import Event from './components/Event'
export default {name: 'App',data() {return {msg: "hello 入门小站",name:"name",type:"入门",list:['入门','小站'],view:true}},methods: {onChangeVal(val){this.name=val;}},components: {Event //必须先声明}
}
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

源码:https://github.com/mifunc/rumenz-vue/tree/master/rumenz-vue-three-core

Vue三大核心概念之二(事件)相关推荐

  1. Vue三大核心概念之一(属性)

    1.自定义属性props:即组件中声明的属性,子类接受父类的值 2.原声属性attrs:没有声明的属性,默认自动挂在到组件根元素上,设置inheritAttrs为false能够关闭自动挂载 3.特殊属 ...

  2. Vue组件三大核心概念

    Vue的核心三大基础概念为:属性.时间和插槽.本文就这三个方面进行深入解析,来了解vue. 一.属性 1.自定义属性props props 可以显示定义一个或一个以上的数据,对于接收的数据,可以是各种 ...

  3. Maven学习(三)————Maven核心概念(二)

    引言 承接上一篇<Maven学习(二)----Maven核心概念(一)>,介绍 Maven  生命周期.插件.目标.继承.聚合等一些概念. 一.Maven 生命周期 1.1 理解 Mave ...

  4. 以太坊核心概念(二)

    上一篇文章介绍了以太坊5个核心概念:以太坊虚拟机(EVM).账户(Accounts).交易(Transactions).Gas.存储,主存和栈(Storage, Memory and the Stac ...

  5. vue快速修改数组的某个值_详解vue组件三大核心概念

    前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽略的一些重要细节.如果你阅读别人写的组件,也可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能. 本文的代码请猛 ...

  6. vue传递数组对象_详解vue组件三大核心概念

    前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽略的一些重要细节.如果你阅读别人写的组件,也可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能. 本文的代码请猛 ...

  7. vue warning如何去掉_详解 vue 组件三大核心概念

    前言 本文主要介绍属性.事件和插槽这三个vue基础概念.使用方法及其容易被忽略的一些重要细节.如果你阅读别人写的组件,可以从这三个部分展开,它们可以帮助你快速了解一个组件的所有功能. 本文的代码请猛戳 ...

  8. 前端学习(2555):vue的核心概念事件

  9. Vue三大核心之三(插槽)

    1.具名组件 我们一个组件里需要多个插槽,就需要用到slot的name属性 <!--子组件定义--> <div><header><slot name=&quo ...

最新文章

  1. 百万年薪挖了个P8程序员,难道是“水货”?
  2. 【转】复盘一次失败的技术面试后,我成功拿到了5个offer
  3. QT的QSharedDataPointer类的使用
  4. 使用命令行工具mc上传模型训练数据到SAP云平台Leonardo机器学习服务的AWS存储
  5. Wordpress不同页面显示不同小工具
  6. 教你3个python「性能分析」工具,再也不用自己计算函数耗时了
  7. PHP安全,防止远程非法提交
  8. python免费课程400节-少儿编程网-Scratch_Python_教程_免费儿童编程学习平台
  9. 前端是Sencha Touch+ Cordova(转)
  10. o蓝屏之死---stop:0X000000c5(0x000000c4等系列)---Mr.Zhang
  11. lingo3d_基于官方教程的分析
  12. 高清沉浸式体验:基于 RTC 的全景 8K@120fps FoV 实践
  13. Spring 和 JAVA 的牵绊
  14. 菌群最新资讯热评 | 菌群与癌症免疫疗法,菌群与消毒剂
  15. Linux网络延迟排查方法
  16. Word字体的字号与像素对应关系
  17. python之使用snowboy离线语音唤醒
  18. pvid与access的关系_{华为HCNA-RS}关于Trunk、Hybrid、Access、Tag、Untag、Pvid的关系与区别...
  19. C语言学习之字符串,字符,字节,结构和联合
  20. C# WPF 项目中无法使用Console输出时出现句柄无效的IO异常解决方法

热门文章

  1. 无法远程xp服务器,五步快速处理在WinXP下IIS无法远程访问的问题
  2. java栈空异常_Java如何处理空堆栈异常?
  3. LeetCode 454. 4Sum II
  4. 1053. 住房空置率 (20)-PAT乙级真题
  5. mysql闩_Oracle闩:Cache Buffers chains
  6. ios11+html5偏移20pt,iOS tableView内容向下偏移20pt或向下偏移64pt的问题?
  7. python语言单词接龙_[蓝桥杯][算法训练VIP]单词接龙 (C语言代码)
  8. 比特币算法——SHA256算法介绍
  9. 2.Servlet(一)
  10. Jenkins在Linux环境安装