组件传值有一下几种方式:父子传值(父传子,子传父),非父子传值,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组件传值的更多相关文章

  1. vue.js组件化开发实践

    前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...

  2. 如何理解vue.js组件的作用域是独立的

    vue.js组件的作用域是独立,可以从以下三个方面理解: 1.父组件模板在父组件作用域内编译,父组件模板的数据用父组件内data数据:2.子组件模板在子组件作用域内编译,子组件模板的数据用子组件内da ...

  3. VUE.JS组件化

    VUE.JS组件化 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎 ...

  4. 浅尝Vue.js组件(一)

    本篇目录: 组件名 组件注册 全局注册 基础组件的自动化全局注册 局部注册 在模块系统中局部注册 Prop 单向数据流 Prop验证 类型检查 非Prop特性 替换/合并已有的特性 禁用特性继承 自定 ...

  5. Vue.js 组件编码规范

    本规范提供了一种统一的编码规范来编写 Vue.js 代码.这使得代码具有如下的特性: 其它开发者或是团队成员更容易阅读和理解. IDEs 更容易理解代码,从而提供高亮.格式化等辅助功能 更容易使用现有 ...

  6. vue父子组件传值加例子

    例子:http://element-cn.eleme.io/#/zh-CN/component/form         上进行改的 父传子:用prop:子组件能够改变父组件的值,是共享的,和父操作是 ...

  7. Vue.js 组件的三个 API:prop、event、slot

    组件的构成 一个再复杂的组件,都是由三部分组成的:prop.event.slot,它们构成了 Vue.js 组件的 API.如果你开发的是一个通用组件,那一定要事先设计好这三部分,因为组件一旦发布,后 ...

  8. Vue.js组件的重要选项

    Vue.js组件的重要选项 实例化Vue对象一些很重要的选项,Vue的所有数据都是放在data里面的,Vue的参数是个对象,对象里面的字段叫做data,data里面也是对象,data也可以写作是thi ...

  9. 关于Vue父子组件传值(复杂数据类型的值)的细节点

    vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean, 当父组件值被修改时,子组件能够实时的作出改变. 如果父子传值的类型是复杂数据 ...

随机推荐

  1. Centos7 Firewall

    1.1 firewall启停设置 [root@tomcat ~]# systemctl stop firewalld.service #关闭firewall [root@tomcat ~]# syst ...

  2. Vue的自定义组件之间的数据传递

    一,父级传向子级 1,在子级的属性中添加props:['myname',......],参数可以传多个,看具体而定: 2,在父级data中定义好需要传递的变量数据,例如name:"rose& ...

  3. 常用命令和sql

    常用命令: mvn idea:idea //生成.ipr项目文件 mvn clean install -Dmaven.test.skip=true mvn install:install-file - ...

  4. [Leetcode 216]求给定和的数集合 Combination Sum III

    [题目] Find all possible combinations of k numbers that add up to a number n, given that only numbers ...

  5. form表单提交到Servlet后,弹出对话框,然后在跳转页面

    在Servlet中添加一下代码即可 out.print("<script>alert('添加成功!');window.location='index.jsp';</scri ...

  6. Java的数组,集合,数据结构,算法(一)

    本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这 ...

  7. Android四大组件之 --- Service入门

    在前面了解了什么是多线程和异步消息处理机制后,我们来看一下到底什么是Service. 1. 什么是service(service的作用)一个服务是一个具有较长生命周期但没有用户界面的程序,例如:一个正 ...

  8. css颜色,字体大小的设置

    设置字体的颜色通过下面的代码: color : #f00; color是颜色的意思,color用来设置一个标签的前景色,表现出来也就是元素文本的颜色. 它的值,一般都是使用#加16进制的颜色值来表示. ...

  9. linux安装Django 以及 生产环境部署实现高并发

    1.首先安装python Python编译安装 主要介绍linux环境下安装 cd  /usr/local/src     //进入安装目录 wget  https://www.python.org/ ...

  10. SPRINGMVC中的中文乱码处理

    说到乱码处理,对于很多人来说是非常经常遇到的,现在来总结一下web工程中中文乱码处理的几个步骤,乱码处理大致可以分为一下几步,分别从页面到数据库: 页面传值到后台: 工程编码(最后一开始建立工程就设置 ...