vue.js组件传值
组件传值有一下几种方式:父子传值(父传子,子传父),非父子传值,vuex,插槽作用域
1.父子传值:
(1)父传子:
传值方:当子元素在父元素中当标签使用时,通过给子标签绑定一个自定义属性,属性值为需要传递的数据
接收方:在子组件内部通过props接收,props是vm的属性。就收方式有两种:
1,数组接收props:["值"]
2,对象接收props:{
"值":值的类型(string,num。。。。。)
}
通常使用对象接收,因为可以检验数据类型
(2)子传父:
传值方:当子组件给父组件传数据时,通过调用父组件给父组件中子标签绑定的自定义事件将值传过去(通过事件订阅,emit("事件名",参数))
接收方:父组件通过自定义事件的方法的函数接收子组件传过来的数据,注意,这个自定义方法的函数在绑定时不能加(),否则会报错
2.非父子传值:
非父子传值通过事件订阅,由于每个组件中的this指向都不同,所以要在Vue的原型上添加一个公共的Vue实例,组件之间通过调用公共Vue实例的on/emit(事件订阅方法)来传值。
传值方:调用emit,第一个参数是接收方定义的方法名,第二个参数是要传递的值
接收方:调用on,绑定一个方法,来接收值
3.vuex:
vuex是公共状态管理工具,里面存储了组件公用的数据,组件都可以直接从vuex中拿数据,使用数据,但是vuex数据流动遵循了一个数据流,只能单向流动,避免出现错误无法捕获的现象
4.插槽作用域
组件标签内包裹的元素默认是不会显示的,若要现实,就要用插槽<slot></slot>,在组件内部通过slot接收,就可以显示了,slot默认接收所有内容,除非具名,具名插槽就是带名字的插槽,组件标签内的元素加上slot属性,就是一个具名插槽了,在组件内部通过slot接收时通过name属性来接受指定元素
组件标签内的元素:<p slot="aaa"></p>
组件内部接收:<slot name="aaa"></slot>
插槽作用域:当前组件不希望由外部控制自己的数据时用插槽作用域
将子组件的数据传递给父组件,只要给组件内部slot绑定自定义属性,在父组件中子标签内部书写template标签,通过scope属性接收子传递过来的数据,数据是对象类型,key是子传过来的属性名
vue.js组件传值的更多相关文章
- vue.js组件化开发实践
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...
- 如何理解vue.js组件的作用域是独立的
vue.js组件的作用域是独立,可以从以下三个方面理解: 1.父组件模板在父组件作用域内编译,父组件模板的数据用父组件内data数据:2.子组件模板在子组件作用域内编译,子组件模板的数据用子组件内da ...
- VUE.JS组件化
VUE.JS组件化 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎 ...
- 浅尝Vue.js组件(一)
本篇目录: 组件名 组件注册 全局注册 基础组件的自动化全局注册 局部注册 在模块系统中局部注册 Prop 单向数据流 Prop验证 类型检查 非Prop特性 替换/合并已有的特性 禁用特性继承 自定 ...
- Vue.js 组件编码规范
本规范提供了一种统一的编码规范来编写 Vue.js 代码.这使得代码具有如下的特性: 其它开发者或是团队成员更容易阅读和理解. IDEs 更容易理解代码,从而提供高亮.格式化等辅助功能 更容易使用现有 ...
- vue父子组件传值加例子
例子:http://element-cn.eleme.io/#/zh-CN/component/form 上进行改的 父传子:用prop:子组件能够改变父组件的值,是共享的,和父操作是 ...
- Vue.js 组件的三个 API:prop、event、slot
组件的构成 一个再复杂的组件,都是由三部分组成的:prop.event.slot,它们构成了 Vue.js 组件的 API.如果你开发的是一个通用组件,那一定要事先设计好这三部分,因为组件一旦发布,后 ...
- Vue.js组件的重要选项
Vue.js组件的重要选项 实例化Vue对象一些很重要的选项,Vue的所有数据都是放在data里面的,Vue的参数是个对象,对象里面的字段叫做data,data里面也是对象,data也可以写作是thi ...
- 关于Vue父子组件传值(复杂数据类型的值)的细节点
vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean, 当父组件值被修改时,子组件能够实时的作出改变. 如果父子传值的类型是复杂数据 ...
随机推荐
- vue组件的通信
组件的引入两种方式 动态组件 <p is="com-a"></p> 直接引入 <com-a></com-a> 插槽功能 父组件引入 ...
- day13笔记
1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供我们使 ...
- SecureCRT通过SSH2协议远程登录Ubuntu 18.04的过程总结
reference: https://blog.csdn.net/ghostar03/article/details/47441715 https://blog.csdn.net/u011186256 ...
- CPU-bound(计算密集型) 和I/O bound(I/O密集型) 区别 与应用
I/O密集型 (CPU-bound) I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多,此时,系统运作,大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写,此时 CP ...
- 实例:用户界面控件Kendo UI vs DevExpress对比评测一
在一次使用ASP.NET MVC进行开发的Web项目中,我们需要用户界面控件来帮助实现界面的大部分功能.由于项目比较复杂,我们最终确定对 Kendo UI 和 DevExpress 这两款国际知名的用 ...
- 判断浏览器大于等于ie9
方便自己查找 <script> (function (window) { var theUA = window.navigator.userAgent.toLowerCase(); if ...
- jmeter测试计划元素执行顺序
jmeter测试计划元素执行顺序 测试计划的元素是有序的,通过以下方式执行: 1–配置节点 2–前置处理器 3–定时器 4–取样器 5–后置处理器(只在有结果可用情况下执行) 6–断言(只在有结果可用 ...
- undo系统参数详解
查看与undo相关的系统参数 1.undo_management 有两个参数值:auto.manual(默认) manual:系统启动后使用rollback segment存储undo信息: auto ...
- jmeter之关联
前言:当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联. 一.后置处理器-------正则 ...
- ABP框架(asp.net core 2.X+Vue)模板项目学习之路(二)--切换MySql数据库
前言: 大家好,今天给大家带来ABP第二篇的分享,在写这篇分享的时候非常的困难,因为发现ABP的框架越是深入.难度也就越大,而且深刻感觉到自己领域驱动开发知识的欠缺,前段时间买了两本有关于领域驱动知识 ...