为了能够在父子组件中实现双向控制,需要以下的步骤:

第一步:子组件中挖坑

(1)在需要父组件填充具体内容的地方挖坑,方式为

  <slot name="message"></slot>

通过slot和name指定坑

第二步:父组件中填坑(具体内容)

(1)引入子组件作为其中一个模块

在父组件的script中通过import引入,然后通过components进行挂载,最后以标签的形式使用

(2)在子组件模块区域内,使用slot="name的值"指定需要填的坑

<p slot="message">//填坑的内容

  <span>加入购物车成功</span>
</p>

上述两步只是实现了组件简单内容的填充,但涉及到值的传递,及控制时还需如下的操作

(1)父组件中的值传递到子组件中:

子组件使用props拿到传递过来的值(在子组件的export default中)

此时父组件与值组件的代码为:

父组件:

<Modal v-bind:mdShow="mdShow" >//Modal是子组件在父组件中
<p slot="message">
请先登录,否则无法加入购物车!
</p>
</Modal> <script>
import Modal from '@/components/Modal.vue'
export default {
data () {
return {
mdShow: false,
}
},
components: {
Modal
},
}
</script>

子组件中代码为:

 <div  v-bind:class="{'md-show':mdShow}">

      <div class="confirm-tips">
<slot name="message"></slot>
</div> </div>
<script>
export default{
props: ["mdShow"],//接受到来自父组件的值
data(){
return { }
},
}
}
</script>

(2)子组件控制父组件中的值:实质上通过子组件的方法间接 通过$emit方法去调用父组件中的方法,

例如父组件有一个方法为close

<p  v-on:close="closeModal">
<Modal v-bind:mdShow="mdShow" >//Modal是子组件在父组件中
<p slot="message">
请先登录,否则无法加入购物车!
</p>
</Modal>
</p>
<script>
import Modal from '@/components/Modal.vue'
export default {
data () {
return {
mdShow: false,
}
},
components: {
Modal
},
methods:{
closeModel(){
this.mdShow = true;
}
}
</script>

(2)子组件中需要触发父中绑定的close方法

<div  v-bind:class="{'md-show':mdShow}">

<div @clicki="closeModal">Close<div>
<div class="confirm-tips"> <slot name="message"></slot> </div> </div> <script>
export default{
props: ["mdShow"],
data(){
return { }
},
methods: {
closeModal(){
this.$emit("close");//触发父组件中定义的方法
}
}
}
</script>

初学阶段简单总结一下:子组件中挖坑,父组件填坑。

前面两步骤只是简单实现组件的加载,对于有值传递和控制,需要通过该后面两步的props接受来自父组件的值 和$emit触发父组件的方法实现。

vue中父子组件传递信息实现的更多相关文章

  1. Vue中父子组件执行的先后顺序

    Vera   Vue中父子组件执行的先后顺序探讨(转载) 前几天,朋友向我提出了一个关于Vue中父子组件执行的先后顺序问题,相信很多朋友在学习的过程中也会遇到这个问题,所以我就在此提出我自己的一些小看 ...

  2. Vue中父子组件执行的先后顺序探讨

    前几天,朋友向我提出了一个关于Vue中父子组件执行的先后顺序问题,相信很多朋友在学习的过程中也会遇到这个问题,所以我就在此提出我自己的一些小看法. 问题如下:请问下图中父子组件执行的先后顺序? 首先, ...

  3. 简述vue中父子组件是怎样相互传递值的(基础向)

    前言 首先,你需要知道vue中父组件和子组件分别指的是什么?   父组件:vue的根实例——用new Vue()构造函数创建的vue实例(实例会有一个挂载点,挂载点里的所有内容可理解为父组件的内容) ...

  4. vue中父子组件之间的传值、非父子组件之间的传值

    在Vue实例中每个组件之间都是相互独立的,都有自己的作用域,所以组件之间是不能直接获取数据.在项目开发中一个组件可能需要获取另一个组件的值,我们可以通过其他方法间接的获取.所以,获取的方法有以下几种: ...

  5. vue 中父子组件之间的交互

    1,最直接的也是最简单的方法是利用props来数据传值. 子组件定义如下: props: { iconClass: { type: String, required: true }, classNam ...

  6. vue中父子组件钩子的执行顺序

    我们已经非常熟悉单个的vue组件的生命周期执行顺序了,但是,如果有嵌套组件,父子组件的生命周期的执行顺序是什么? 当父子组件在加载的时候,执行的先后顺序为 父beforeCreate -> 父c ...

  7. vue 中父子组件传值:props和$emit

    更新----------- 1 父组件向子组件传值:通过props数组: 在vue-cli Login.vue父组件中有AcceptAndRefuse.vue子组件,首先import进子组件hello ...

  8. Vue中父子组件通讯——组件todolist

    一.todolist功能开发 <div id="root"> <div> <input type="text" v-model=& ...

  9. vue中 父子组件的通讯

    1.父组件可以使用 props 把数据传给子组件. 2.子组件可以使用 $emit 触发父组件的自定义事件 实例: 父组件: layout.vue  子组件:logform.vue 子组件: < ...

随机推荐

  1. 智能穿戴设备移动APP端与外设数据传输协议

    S1 Communication Layer specifications 1. Purpose of This Document                                    ...

  2. QT 使用QSettings读写ini配置文件

    利用Qsettings包一个类 RWIniFile, writeIni方法写文件, readIni方法读文件 rwinifile.h #ifndef RWINIFILE_H #define RWINI ...

  3. linux下 stat statfs 获取 文件 磁盘 信息

    stat函数讲解 表头文件:    #include <sys/stat.h>              #include <unistd.h> 定义函数:    int st ...

  4. Hibernate 关于实体映射常用注解

    注解 类注解(写在类上面的) @Entity       标明实体类 @Table(name="数据库标明")      生成数据库时的表名由这个决定 @DynamicInsert ...

  5. BZOJ4197 / UOJ129 [Noi2015]寿司晚宴

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  6. Neutron新进展|DragonFlow在Mitaka版本中的Roadmap

    OpenStack网络在Mitaka版本中将有哪些新变化?1月11日到12日,DragonFlow的PTL——Eran Gampel,Kuryr的PTL——Gal Sagie,和他们的老大从以色列来到 ...

  7. js享元模式

    享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象. 内部状态与外部状态 内部状态存储于对象内部. 内部状态可以被一些对象共享 内部状态独立于具体的场景,通常不会改变 外部状态取决 ...

  8. Spring Boot入门(二)

    一.Spring Boot项目打包 1.引入maven打包相关插件 2.项目右击run as>Maven clean.run as>Maven install在target文件夹下会生成相 ...

  9. java笔试面试(转载)

    Java面试笔试题大汇总(最全+详细答案) 2016-02-01 15:23 13480人阅读 评论(8) 收藏 举报  分类: Java面试题(1)  声明:有人说, 有些面试题很变态,个人认为其实 ...

  10. KNN cosine 余弦相似度计算

    # coding: utf-8 import collections import numpy as np import os from sklearn.neighbors import Neares ...