vue组件之emit
来源:互联网 发布:遥控怎么切换网络电视 编辑:程序博客网 时间:2024/06/08 16:19
我们知道,父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,应该怎样做?那就是自定义事件!
每个 Vue 实例都实现了事件接口(Events interface),即:
- 使用 $on(eventName) 监听事件
- 使用 $emit(eventName)触发事件
Vue.component('button-counter', { template: ` <button v-on:click="increment">{{ counter }}</button>`, data() { return { counter: 0 } }, methods: { increment: function () { this.counter += 1 this.$emit('increment') } },});new Vue({ el: '#example', data: { total: 0 }, methods: { incrementTotal: function () { this.total += 1 } }})
<div id="example"> <p>{{ total }}</p> <button-counter v-on:increment="incrementTotal"></button-counter> <button-counter v-on:increment="incrementTotal"></button-counter></div>
通过以上代码发现,就是子组件自定义了个事件,然后把这个事件发射出去,父组件应用这个事件,就实现了
官网还提供了另一个有意思的例子
Vue.component('currency-input', { template: ` <span> $ <input ref="input" v-bind:value="value" v-on:input="updateValue($event.target.value)" > </span> `, props: ['value'], methods: { updateValue: function (value) { var formattedValue = value // 删除两侧的空格符 .trim() // 保留 2 小数位 .slice(0, value.indexOf('.') + 3) // 如果值不统一,手动覆盖以保持一致 if (formattedValue !== value) { this.$refs.input.value = formattedValue } this.$emit('input', Number(formattedValue)) } }})new Vue({ el: '#example', data: { price:'' }})
<div id="example"> <currency-input v-model="price"></currency-input> </div>
注意这里的v-moel是个语法糖
<input v-model="something">
应为
<input v-bind:value="something" v-on:input="something = $event.target.value">
作者:ferrint
链接:http://www.jianshu.com/p/2e29f6e8800b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
阅读全文
0 0
- vue组件之emit
- Vue事件解读之$emit
- vue 兄弟组件之间传数据之$emit 和 $on 组件通信
- Vue之模态框确认组件---使用$emit触发父组件的methods
- vue组件中$emit()的作用
- vue $emit
- vue之$emit和$on简单测试
- vue.js之$emit和$on
- Vue $emit $refs子父组件间方法的调用
- VUE .sunc (update,$emit)父子组件传递数据 手记
- vue使用$emit时,父组件无法监听到子组件的事件
- Vue基础之组件
- Vue之重命名组件
- vue.js之组件
- Vue.js组件component关于分页功能、自定义事件的$.Emit()的使用
- 父子组件通信-$emit
- vue之路之--Vue组件
- Vue 父子通信(props,$.emit( ) )
- leetcode Python 167. Two Sum II
- 复杂sql查询经验
- AC自动机
- 事件分发核心要点
- arcgis中的摸索
- vue组件之emit
- UNP(卷2:进程间通信)—— 第10章:Posix信号量
- 多表查询
- Android6.0Framework源码解析系列[目录]
- 图片加载框架Glide使用教程
- IoC(控制反转)和DI(依赖注入)
- 最小表示法
- java hibernate 关联关系有什么作用
- gdb如何查看内存