动态监测父组件传递给子组件的值

父传子 动态监测

父组件部分:

// html部分
<template>
  <div id="home">   
     <div>
        <el-select v-model="sendParams.value" placeholder="请选择">
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
        </el-select>
        <el-select v-model="sendParams.value1" multiple   collapse-tags placeholder="请选择">
            <el-option
              v-for="item in sendData"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
        </el-select>
    </div>
    <echarts :sendParams='sendParams'></echarts>
  </div>
</template>
// js部分
import echarts from '../views/charts.vue' // 引入子组件
export default {
  components:{
    echarts
  },
data:{
       options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        },],
       
        sendData:[ {
          value: '选项3',
          label: '蚵仔煎'
        }, {
          value: '选项4',
          label: '龙须面'
        }, {
          value: '选项5',
          label: '北京烤鸭'
        }],       
        sendParams:{
          value: '',
          value1:[],
        }
}

子组件部分:

    props:['sendParams'],
    watch:{
        sendParams:{
            handler(newValue,oldValue) {
                console.log(newValue) //当父组件的值发生变化时,子组件的数据都会实时更新;可以在此处进行逻辑处理; 
            },
            deep:true // 因为传递过来的数据是对象 ,所以需要深度监听
        }
    }

注意:

此处用的是使用的是elmentui 的下拉框组件,实现了双向数据绑定,所以当你点击选取下拉框中的数据时,子组件的数据就已经发生了变化;如果想避免这种情况,可以将data中定义的对象进行重新赋值,然后在绑定到子组件的标签中,这样就可以解决这个问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前几天遇到一个问题,在父组件中使用axios获取异步数据传给子组件,但是发现子组件在渲染的时候并没有数据,在cre...
    WEB_克克阅读 57,042评论 24 43
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,270评论 0 25
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,138评论 1 32
  • VUE介绍 Vue的特点构建用户界面,只关注View层简单易学,简洁、轻量、快速渐进式框架 框架VS库库,是一封装...
    多多酱_DuoDuo_阅读 2,742评论 1 17
  • 大人勤了,孩子就懒了;大人懒了,孩子就勤了。”这可能是在亲子关系中,大人与孩子的“勤与懒”之间辩证关系的最白话的描...
    苦茶_09e4阅读 159评论 0 0