vue学习笔记(1)-组件通信
vue.js官方教程上讲的也挺清楚的了,自己整理一遍以加深印象,同时也完成自己的项目中需要的动态创建表单提交编辑修改功能。
表单主要是v-model双向绑定实现父组件与子组件的双向数据传递,所以首先说一下组件之间的通信。
组件通信
父组件向子组件传值 props
// 子组件
Vue.component("my-com",{template:"<div>{{msg}}===={{info}}</div>",props:["msg"], //必须是字符串形式data:function(){ return {info:"子组件的信息"}}
});// 使用时
<my-com :msg="message"></my-com> // 必须使用v-bind绑定,不然传递的是字符串var app=new Vue({el:"#app",data:{message:"父组件的内容"}
});
复制代码
子组件向父组件传递$emit()
//逻辑是,给子组件添加事件,子组件事件触发时,往上触发父组件的事件,并且给事件传值,父组件即可获得子组件的值并在事件中处理
Vue.component("my-com",{template:'<button type="button" @click="add">点击+1</button>',data:function(){return {count:0}},methods:{add(){this.count++;this.$emit("from-son",this.count);}}
})// 使用时
<my-com @from-son="add1"></my-com> // 触发from-son事件,接收到子组件的数据var app=new Vue({el:"#app",data:{msg:""},methods:{add1(value){this.msg=value;}}
})
复制代码
双向数据传递 v-model
由前面分析可以看出,实现双向绑定的话,就是同时有props传递,又有$emit()触发
首先,<input v-model="text">
等价于:
<input v-bind:value="text" v-on:input="text=$event.target.value">
复制代码
因此组件要使用v-model,也需要:
<my-componentv-bind:value="text" //父向子传递v-on:input="text=$event.target.value" //子向父传递
><my-component>
复制代码
所以子组件必须满足:
Vue.component("my-component",{template:'<div @click="fn"></div>'props:['value'],methods:{fn(event){this.$emit("input",event.target.value)}}
})复制代码
转载于:https://juejin.im/post/5ccba9cce51d453ab5096a79
vue学习笔记(1)-组件通信相关推荐
- Vue学习笔记05 组件的自定义事件-组件通信-$nextTick-脚手架解决ajax跨域-插槽-过渡动画
文章目录 Vue学习笔记05 父组件给子组件传值 注意点 子组件给父组件传值 父组件接受子组件的传值 通过函数 组件的自定义事件 事件绑定的第一种写法 @或v-on 事件绑定的第二种写法:使用ref ...
- 四、Vue组件化开发学习笔记——父子组件通信,父级向子级传值(props),子级向父级传值(自定义事件),slot插槽
一.父子组件的通信 在上一篇博文中,我们提到了子组件是不能引用父组件或者Vue实例的数据的. 但是,在开发中,往往一些数据确实需要从上层传递到下层: 比如在一个页面中,我们从服务器请求到了很多的数据. ...
- Vue学习笔记02 = 组件化
目录 一.组件化基本概念 什么是组件化?组件化有什么作用? 人面对复杂问题的处理方式: 组件化也是类似的思想: Vue组件化思想: 组件化思想的应用: 二.组件的基本使用: 2.1.创建组件的构造器. ...
- 【Vue】Vue学习笔记——UI组件库和常用插件
文章目录 6. UI组件库和常用插件 6.1 Element-ui 6.2 Vue-router 6.2.1 基本用法 6.2.2 跳转 6.2.3 路由嵌套 6.2.4 路由参数传递 6.3 Axi ...
- Vue学习笔记(八) 组件进阶
1.插槽 (1)插槽内容 像 HTML 元素一样,我们常常需要给组件传递内容 比如在下面的例子中,我们给自定义组件 prompt-info 传入 出错啦 的文本 <!DOCTYPE html&g ...
- Vue学习笔记_组件化
文章目录
- Vue学习笔记(二)组件化和模块化
Vue学习笔记(二)组件化和模块化 前言 组件化 什么是组件化 1.基础使用 2.全局组件和局部组件 3.语法糖和模板抽离 4.组件的data为什么是函数 5.父子组件 5.1 父子组件 5.2 父子 ...
- Vue学习(动态组件、组件路由缓存keepalive)-学习笔记
文章目录 Vue学习(动态组件.组件路由缓存keepalive)-学习笔记 动态组件 组件路由缓存keepalive Vue学习(动态组件.组件路由缓存keepalive)-学习笔记 动态组件 < ...
- vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?
vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 文章目录 vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 什么是组件? 为什么要使用组件? 如何使用 ...
最新文章
- 干货:计算机网络知识总结
- 「名词」数据管理、数据治理、数据中心、数据中台、数据湖、数据资产等
- 安卓应用程序一般采用什么计算机语言开发,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言...
- 机加工程序工时程序_准终工时、人工工时、机器工时,十个工程师九个会弄错...
- zend studio如何更改字符集
- 【转】请求处理机制其二:Django中间件的解析
- 51nod1264线段相交
- 拉电阻、下拉电阻的原理和作用
- 打车软件系统分析与设计方案
- 免费下载IEEE、SCI论文的网站
- 解决steam无法启动gta5报错msvcp140.dll丢失
- 基于qt开发的一款聊天气泡框
- 摘录3:没有趋势,没有背驰。
- 京东物流IPO:商流、物流、资金流,“三流”难归一
- 科技进步计算机开机速度,笔者教你电脑开机慢怎么办
- 扁平化风格职业规划PPT模板
- 电脑问题处理篇4:解决华硕电脑“ASUS Battery Health Charging”软件界面呈现灰色不能选择充电模式的问题
- Ruby gem的proxy代理设置方法
- 一个年化收益30%的指数
- 呼叫中心管理之:让座席看见自己
热门文章
- springcloud微服务实战 学习笔记五 Hystrix服务降级 Hystrix依赖隔离 断路器
- 回到顶部最简单的JQuery实现代码
- zend studio安装xdebug调试工具
- Android中JSON解析细解及实例
- Code First 迁移
- AndroidStudio工具将Module项目导出成Jar和arr库
- HDU 4917 Permutation(拓扑排序 + 状压DP + 组合数)
- Oracle----date
- Request.Browser.Crawler 属性的工作原理分析
- 一个JavaScript上的OOP编程技巧:继承