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

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    
    <body>
      <!-- 【套路:1、通过自定义事件,把父组件的事件传给子组件; 2、在子组件中,通过this.$emit()触发子组件的自定义事件。】 -->
      <!--父组件模板-->
      <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',
          methods: {
            btnClick(item) {
              // 发射事件: 自定义事件
              this.$emit('item-click', item)
            }
          },
          data() {
            return {
              categories: [
                { id: 'aaa', name: '热门推荐' },
                { id: 'bbb', name: '手机数码' },
                { id: 'ccc', name: '家用家电' },
                { id: 'ddd', name: '电脑办公' },
              ]
            }
          },
        }
    
        // 2.父组件
        const app = new Vue({
          el: '#app',
          data: {
            message: '你好啊'
          },
          components: {
            cpn
          },
          methods: {
            cpnClick(item) {
              console.log('cpnClick', item);
            }
          }
        })
      </script>
    
    </body>
    
    </html>
    
  • 相关阅读:
    ElasticSearch调优问题
    Ceph源码解析:概念
    Ceph神坑系列
    Mac下VirtualBox共享文件夹设置
    API教程
    设计师最常用网站汇总
    从码农到大神,有多少经验值得借鉴?
    登录注册 页面
    NET面试题 (四)
    Sqlserver面试题
  • 原文地址:https://www.cnblogs.com/jianjie/p/13535908.html
Copyright © 2011-2022 走看看