知识点用到了vue父子组件之间的传值,以及使用watch和v-model控制vux中XDialog组件。

需要注意的问题:

1.父组件向子组件传值使用的是props(单向传值),子组件创建props,然后创建一个名为invitor的属性,父组件对其赋值即可,但是单向传值,子组件不能通过改变props的属性,直接去改变父组件的值。

2.子组件向父组件传值,实际是在父组件自定义了一个事件,子组件去调用这个自定义事件并传值。

this.$emit('changingType','false');

3.watch的使用和XDialog组件的使用

以下是具体代码

子组件

<template>
<div>
<x-dialog class="invitorMask" hide-on-blur v-model="showing" @on-hide="hide">
子组件弹窗
</x-dialog>
</div>
</template> <script>
import {XDialog} from 'vux'
export default {
components: {
XDialog
},
props:['invitor'],
data () {
return {
showing:this.invitor,//因为props是单向传值,所以需要新声明一个局部变量,并将invitor初值赋值给它
}
},
watch:{
invitor(cur){//监听invitor值的变化
console.log('currentVal:'+cur)
if(cur == true){//当父组件传递值为true是,则显示
this.showing = true;
}
},
}
,
methods: {
hide(){//弹层消失事件
this.$emit('changingType','false');//调用父组件的自定义事件,并传值
}
}
} </script>

父组件

<template>
<div style="text-align: center">
<div style="margin-bottom: 50px">父组件</div>
<a v-model="isShow" @click="showlDialog">弹窗</a>
<!--动态的向子组件赋值-->
<Invite :invitor="isShow" @changingType="showlDialog"> </Invite>
</div>
</template> <script>
import Invite from '@/pages/s/invite/Index.vue' //引入子组件 export default {
components: {
Invite //注册子组件
},
data () {
return {
isShow:false,
}
},
methods: {
showlDialog(data){
console.log(data)
if(data == 'false'){
this.isShow = false;
}else{
this.isShow = true;
}
console.log(this.isShow)
}, }
}
</script>

demo界面,点击父组件的弹窗按钮,子组件弹窗显示,点击空白处,子组件弹窗隐藏

vue+vux 父组件控制子组件弹层的更多相关文章

  1. vue中父级与子组件生命周期的先后顺序

    1.vue的生命周期 2.views/createrCustormer.vue为父级     <template>     <expressService />   </ ...

  2. 解决vue项目中遇到父组件的按钮或操作控制重新挂载子组件但是子组件却无效果的情况

    在vue项目中终会遇到需要父组件的按钮或操作控制重新挂载子组件的需求,我在新项目中就遇到这种需求.真实场景是父组件的早,中,晚三个按钮(代表三个时间段)来控制子组件的table表格列的动态加载. 子组 ...

  3. vue中的父组件及子组件生命周期的执行顺序

    一.没有任何任何显示与隐藏限制条件的情况下: 1.运行的顺序依次是: 父组件created→父组件beforeMounted→子组件created→子组件beforeMounted→子组件mounte ...

  4. Vue的父子组件v-model双向绑定,父组件修改子组件中绑定的v-model属性

    先来看下实现的效果,父组件中有个文本框,在点击下面按钮时弹出抽屉,抽屉里也有个文本框,文本框里的初始值要和父组件的文本框同步,并且修改抽屉里的文本框值时 父组件里的文本框值也要跟着改变 网上有大概三种 ...

  5. vue 父组件传递子组件事件

    在开发中,碰到一个需要从父组件传入方法,子组件点击触发,说白了就是,把方法传入给子组件调用 <el-col v-for='data in spreadFormat.icons' class=&q ...

  6. Vue中,父组件向子组件传值

    1:在src/components/child/文件夹下,创建一个名为:child.vue的子组件 2:在父组件中,设置好需要传递的数据 3:在App.vue中引入并注册子组件 4:通过v-bind属 ...

  7. VUE 父组件与子组件交互

    1. 概述 1.1 说明 在项目过程中,会有很多重复功能在多个页面中处理,此时则需要把这些重复的功能进行单独拎出,编写公用组件(控件)进行引用.在VUE中,组件是可复用的VUE实例,此时组件中的dat ...

  8. Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?

    原文:https://blog.csdn.net/zhouweixue_vivi/article/details/78550738 2017年11月16日 14:22:50 zhouweixue_vi ...

  9. Vue 组件&组件之间的通信 之 父组件向子组件传值

    父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件: 准备获取数据:com-b要获取父组件dat ...

随机推荐

  1. 可方便扩展的JIRA Rest Web API的封装调用

    JIRA是一个缺陷跟踪管理系统,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域,当我们需要把第三方业务系统集成进来时,可以调用他的API. JIRA本身的A ...

  2. php 对象 调用静态方法

    1.BNF范式 .u.op.opline_num = , &$ TSRMLS_CC); } function_call_parameter_list .u.op.opline_num?NULL ...

  3. 【loj6437】 【PKUSC2018】 PKUSC 计算几何

    题目大意:给你一个m个点的简单多边形.对于每个点i∈[1,n],作一个以O点为原点且过点i的圆,求该圆在多边形内的圆弧长度/圆长. 其中n≤200,m≤500. 我们将n个点分开处理. 首先,我们要判 ...

  4. (转)MYSQL线程池总结(一)

    MYSQL线程池总结(一)  原文:http://www.cnblogs.com/cchust/p/4510039.html 线程池是Mysql5.6的一个核心功能,对于服务器应用而言,无论是web应 ...

  5. java验证码工具

    工具类: package com.lhy.web.servlet; import java.awt.BasicStroke; import java.awt.Color; import java.aw ...

  6. springboot打包成jar包后找不到xml,找不到主类的解决方法

    springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...

  7. 【译】Spark调优

    原文地址:http://spark.incubator.apache.org/docs/0.7.3/tuning.html 译文地址:http://www.oschina.net/translate/ ...

  8. java学习-java.lang一Number类

    java.lang包是java语言中被用于编程的基本包.编写的程序基本上都要用到这个包内的常用类. 包含了基本数据类型包装类(Boolean,Number,Character,Void)以及常用类型类 ...

  9. ssh 登录进入 docker container

    1.Container安装ssh服务,博主的linux是centos ① 安装ssh sudo yum install openssh-server #安装ssh服务器 service sshd st ...

  10. boost::asio基本使用

    一.Asio网络库 截止到C++17,C++标准库都没有加入网络通信库.实际项目网络编程是非常常见的功能,直接使用操作系统API是低效率且不稳定的,比较好的方法是借助第三方成熟可靠的网络库.据我所知C ...