zoukankan      html  css  js  c++  java
  • vue子组件向父组件传递数据

    vue子组件向父组件传递数据

    一、总结

    一句话总结:

    a、【子组件发射自定义事件】:子组件中方法:btnClick(item) {this.$emit('item-click', item)}
    b、组件使用中【绑定该事件】:【<cpn @item-click="cpnClick"></cpn>】:item-click是【子组件】中发射的方法名称,cpnClick是【父组件】中接收的方法名称
    c、父组件【接收事件】:cpnClick(item) {console.log('cpnClick', item);}

    1、父子组件传递数据方式?

    父组件向子组件传递数据用【props】
    子组件向父组件传递数据用【发射$emit自定义事件】

    二、vue子组件向父组件传递数据

    1、截图

    2、代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    
    <!--父组件模板-->
    <div id="app">
      <cpn @item-click="cpnClick"></cpn>
    </div>
    
    <!--子组件模板-->
    <template id="cpn">
      <div>
        <button v-for="item in categories"
                @click="btnClick(item)">
          {{item.name}}
        </button>
      </div>
    </template>
    
    <script src="../js/vue.js"></script>
    <script>
    
      // 1.子组件
      const cpn = {
        template: '#cpn',
        data() {
          return {
            categories: [
              {id: 'aaa', name: '热门推荐'},
              {id: 'bbb', name: '手机数码'},
              {id: 'ccc', name: '家用家电'},
              {id: 'ddd', name: '电脑办公'},
            ]
          }
        },
        methods: {
          btnClick(item) {
            // 发射事件: 自定义事件
            this.$emit('item-click', item)
          }
        }
      }
    
      // 2.父组件
      const app = new Vue({
        el: '#app',
        data: {
          message: '你好啊'
        },
        components: {
          cpn
        },
        methods: {
          cpnClick(item) {
            console.log('cpnClick', item);
          }
        }
      })
    </script>
    
    </body>
    </html>
     
  • 相关阅读:
    WPF游戏摘记地图编辑器(1)
    图片和视频操作核心代码
    WPF游戏摘记地图编辑器(2)
    序言
    Asp.Net 请求处理机制
    C#正则表达式
    ActiveX控件打包成Cab实现浏览器自动下载安装
    ios数据存储
    ARC 学习
    Ray's Learn Cocos2d 笔记(一)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/14244907.html
Copyright © 2011-2022 走看看