vue小故事之父子(上下级)通信之父传子props

vue 父子(上下级)通信 props 

或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有点牵强,如果能理解最好,不能理解请向我咨询。

知识回顾,请参考父子通信的前置知识,父子组件
https://www.cnblogs.com/singledogpro/p/12057238.html
对vue不太熟悉的,请参阅vue入门初体验
https://www.cnblogs.com/singledogpro/p/11938222.html

一开始嘛,自己一个人随便炒几个家常菜,就算是搞点小生意,随便贴几个文字,加几幅图片。OJBK了。

,随便贴几个文字,加几幅图片

然后来几个客人,非得吃色香味俱全的菜肴(视频,高清图片),而且要很多,你一个人当然准备不过来了。

色香味俱全的菜肴(视频,高清图片)

你心头一计,找几个老伙计,合伙弄一家餐饮公司得了,各个按照自己能力分配工作,有的砍价能力强负责进货,有的社交能力强负责大堂,有的料理能力强负责后台。根据src工商规范,创建了一家名为app的公司,并规定了它的创始人董事长,董事会成员以及披露了些公司经营信息,比如经营范围,资金规模等。

公司

之前是你自己一个人搞所有东西(所有资源加载和处理都在一个h5页面),合伙开公司了,职权和资源要模块化和组件化了,即分工明细。

一个人搞所有东西

在对公司进行管理之前,希望你对各人员职权再深入理解一番。

我们知道董事长(id为app的vue实例)管理着董事(mycpn)

董事长职权

董事(id为cpn的mycpn)又管着一大群人(div,h2,p)

董事职权

董事长与董事(上下级)的通信

董事长说要将公司的信息(比如2个信息,经营范围【business_scope】,资金规模【total_fund】(定义在data属性的2个字段)告诉下新来的员工(传递给子组件),那常务董事就说,那必须啊,那找2个人负责这事(定义在子组件的props属性内2个字段),发邮箱或者贴大字报【在董事职权内进行渲染】。

父传子2个数据,一个是经营范围,一个是资金规模

由于这件事在董事长职权内对董事进行2项业务管理和操作,则相应地董事应该有2个人员来对接(定义在子组件的prop属性内2个字段),这里我们通过v-bind指令来实现,则有

董事指定2个人来对接2董事长的两项业务

最后【在董事职权内进行渲染】。

渲染

浏览器显示内容

浏览器显示内容

总的来说,父子通信的本质,就是在父组件内的子标签进行数据的双向绑定,然后在子组件内进行渲染。

父子通信的本质

需要注意的是,vue@2.x版本目前并不支持驼峰标识(每个单词的首字母大写)解析,所以本章节定义的变量都没有大写,用_来分割单词。如果强行用驼峰标识,浏览器则无法显示内容。

强行驼峰标识

使用驼峰标识的变量无法显示

vue小故事之父子(上下级)通信之父传子props的更多相关文章

  1. Vue组件通信之父传子

    一般情况下,子组件中无法直接使用父组件的变量.借助子组件的props选项可以实现这一点. 这里我将一个vue实例作为一个父组件: const app = new Vue({ el:'#div1', d ...

  2. Vue父子组件通信(父级向子级传递数据、子级向父级传递数据、Vue父子组件存储到data数据的访问)

    Vue父子组件通信(父级向子级传递数据.子级向父级传递数据.Vue父子组件存储到data数据的访问) 一.父级向子级传递数据[Prop]: ● Prop:子组件在自身标签上,使用自定义的属性来接收外界 ...

  3. vue 组件之间相互传值 父传子 子传父

    1.父传子 把要传入的值放到父标签里  子组件使用props接收 父写法 子写法 2.子传父 子组件: childrenOnclick() { // 发布自定义事件 this.$emit(" ...

  4. vue 评论 computed watch 分隔符 局部组件 全局组件 子传父消息|父传子消息

    评论案例 splice: (start 几位,替换(新增)内容) splice(0,0,内容)在头部插入内容 splice(0,1) 把索引为0的往后删除1位  splice(0,1,内容)把索引为0 ...

  5. vue的组件通讯 父传子 -- 子传父-- 兄弟组件的传值 vue的组件传值

    首先文字简单撸一下 父子传子   -------首先在父组件上绑定一个属性,在子组件里用props接收,可以是数组或者是对象 子传父   ------在父组件升上自定义一个方法,在子组件里通过this ...

  6. Vue ---- 组价 组件化 子传父 父传子

    目录 补充js的for循环: 组件 1.组件的分类: 2.组件的特点 3.创建局部组件 4.全局组件 二.组件化 一.组件传参父传子 二.组件传参:子传父 补充js的for循环: // for in遍 ...

  7. vue子传父、父传子

    子传父 vue子传父使用$emit传值 子组件: <template> <div> <button @click="toParent">点击传到 ...

  8. Vue其他指令-组件-全局-局部-组件的交互父传子

    v-once指令 once:一旦,当...时候 <!DOCTYPE html> <html lang="zh"> <head> <meta ...

  9. 三大前端框架(react、vue、angular2+)父子组件通信总结

    公司业务需要,react.vue.angular都有接触[\无奈脸].虽然说可以拓展知识广度,但是在深度上很让人头疼.最近没事的时候回忆各框架父子组件通信,发现很模糊,于是乎稍微做了一下功课,记录于此 ...

随机推荐

  1. Hive编程指南读书笔记(1):

    1.Mapreduce是一种计算模型,将计算任务分割成多个可以在服务器集群中并行执行的任务,然后分散到一群家用的或者服务器级别的硬件机器上,从而降低成本并提供水平可伸缩性. 2.mapreduce的两 ...

  2. vue中监听数据变化 watch

    今天做项目的时候,子组件中数据(原本固定的数据)需要父组件动态传入,如果一开始初始化用到的数据.但当时还没有获取到,初始化结束就不会更新数据了.只有监听这两个属性,再重新执行初始化. 1.watch是 ...

  3. angular使用@angular/material 出现"export 'ɵɵinject' was not found in '@angular/core'

    WARNING in ./node_modules/@angular/cdk/esm5/a11y.es5.js 2324:206-214 "export 'ɵɵinject' was not ...

  4. 关于Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file: 11043的解决办

    Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file: /tmp/hsperfdat ...

  5. Chrome去掉标签页8个框

    最终效果: 解决思路: 在标签页鼠标右击弹出的菜单项中存在“查看页面源码”一项,由此可确定chrome的标签页是由一个html页面控制的,只要修改其页面源码便能去掉8个框. 经网上查阅确定了标签页的源 ...

  6. ArcEngine介绍

    一.ArcEngine简介ArcEngine被定位为一个嵌入式的产品,它并非面向最终用户,而是一个面向开发者的产品.对于繁冗的GIS开发工作而言,理想的解决方案是一个基于组件的实用的开发框架,且该框架 ...

  7. SSD源码解读——数据读取

    之前,对SSD的论文进行了解读,可以回顾之前的博客:https://www.cnblogs.com/dengshunge/p/11665929.html. 为了加深对SSD的理解,因此对SSD的源码进 ...

  8. aiomysql实现对数据库异步读取

    有一个库叫做aiomysql,这是一个基于asyncio和pymysql的库.至于为什么可以在tornado中使用,是因为高版本tornado的底层使用了asyncio. import asyncio ...

  9. cgicc使用

    CgiCc 使用 一.下载 下载地址: http://ftp.gnu.org/gnu/cgicc/ ftp://ftp.gnu.org/gnu/cgicc/ 二.配置.编译.安装 下载完成后解压:sh ...

  10. Java模板引擎性能对比

    模板引擎性能对比 从Github上翻到对JSP.Thymeleaf 3.Velocity 1.7.Freemarker 2.3.23几款主流模板的性能对比,总体上看,Freemarker.Veloci ...