zoukankan      html  css  js  c++  java
  • vue项目中,父组件与子组件的传参问题

    1.在父组件中

    <template>

      <div class="app">

        <Button @click="filterShow=true">控制组件的显隐</Button>

        <child :filterShow="filterShow" @getState="getType"></child>

      </div>

    </template>

    <script>

    import child from './components/child'    //子组件所在的位置
     
    export default {
      data(){
        return{
          filterShow: false, //开始让子组件隐藏
        }
      },
      components:{
        child,
      },
      methods: {
        //获得从子组件传回的数据
        getType(val){
          this.filterShow = val
        }
      },
    }

    </script>

    2.在子组件中

    <template>

      <div class="child">

        <Button @click="closeChild">关闭组件</Button>

      </div>

    </template>

    <script>

    export default {
      props:{
        filterShow:{
          type: Boolean
        }
      },//组件数据为对象
      data(){
        return{      
          flag: false, //定义新的存放数据
        }
      },
      methods: {
        //关闭子组件 && 子组件向父组件传数据
        closeChild(val){
          this.flag= false;
          this.$emit("getState", this.flag); //向父组件传的this.flag为false
        }
      },
      watch:{//监听从父组件中filterShow传到子组件的val
        filterShow(val){
          this.flag = val;   //开始时this.flag为true
        }
      },
    }

    </script>

  • 相关阅读:
    详解如何在vue项目中引入饿了么elementUI组件
    移动端Web页面适配方案
    蛋糕仙人的javascript笔记
    小程序框架细节系列
    微信小程序 获取用户信息并保存登录状态
    (尚006)Vue计算属性之set与get
    (尚004)Vue计算属性之基本使用和监视
    (尚003).Vue_模板语法
    (尚002)Vue的基本使用
    (尚001)Vue框架介绍
  • 原文地址:https://www.cnblogs.com/abuya/p/10489276.html
Copyright © 2011-2022 走看看