zoukankan      html  css  js  c++  java
  • 父组件调用子组件的方法

    父组件调用子组件的方法,具体逻辑子组件处理!
    子组件

    <template>
      <div class="confirm">
    
      </div>
    </template>
    <script>
      export default {
        name:'confirmCmp',
        props:['title'],
        data() {return {}},
        methods:{
            speak(){
              alert('我是confirm组件')
            }
        }
      }
    </script>

    父组件

    <template>
      <div class="dynamic">
        <confirm-cmp  ref="confirmCmp"></confirm-cmp>
        <button v-on:click="test()">按钮</button>
      </div>
    </template>
    <script>
      import confirmCmp from '@/common/modal/confirm'
      export default {
        name:'artlistCmp',
        components:{confirmCmp},
        methods:{
            test(){
                this.$refs.confirmCmp.speak();
            }
        }
      }
    </script>

    效果



    父组件调用子组件的方法,具体逻辑子组件处理!处理完后把结果告诉父组件

    父组件

    <template>
      <div class="confirm">
        <fieldset>
          <legend>confirm组件</legend>
          <button v-on:click="clickBtn(true)">确定</button>
          <button v-on:click="clickBtn(false)">取消</button>
        </fieldset>
      </div>
    </template>
    <script>
      export default {
        name:'confirmCmp',
        props:['title'],
        data() {return {}},
        methods:{
            clickBtn(b){
                //监听result变化,并发出通知(在angularjs中叫做广播,angularjs提供了emit,broadcast和$on服务用于向子父中传递消息)
                this.$emit('result', b);
            }
        }
      }
    </script>

    子组件

    <template>
      <div class="artList">
        <fieldset>
          <legend>artList组件</legend>
          <confirm-cmp  ref="confirmCmp" v-on:result="clickConfirm"></confirm-cmp>
        </fieldset>
      </div>
    </template>
    <script>
      import confirmCmp from '@/common/modal/confirm'
      export default {
        name:'artlistCmp',
        components:{confirmCmp},
        methods:{
            clickConfirm(type){
                alert(type)
            }
        }
      }
    </script>

    效果

  • 相关阅读:
    微信小程序登录方案
    React编写input组件传参共用onChange
    webpack3+node+react+babel实现热加载(hmr)
    Nodejs 复制文件/文件夹
    MongoDB安全策略
    Mongodb启动&关闭
    Mongodb安装启动详解
    网页3D效果库Three.js学习[二]-了解照相机
    网页3D效果库Three.js初窥
    设置input标签placeholder字体颜色
  • 原文地址:https://www.cnblogs.com/dshvv/p/7765288.html
Copyright © 2011-2022 走看看