• Vue学习笔记-组件通信-子传父(自定义事件)


    props用于父组件向子组件传递数据,还有一种比较常见的是子组件传递数据或事件到父组件中。
    我们应该如何处理呢?这个时候,我们需要使用自定义事件来完成。
    什么时候需要自定义事件呢?
    当子组件需要向父组件传递数据时,就要用到自定义事件了。
    我们之前学习的v-on不仅仅可以用于监听DOM事件,也可以用于组件间的自定义事件。
    自定义事件的流程:
    在子组件中,通过$emit()来触发事件。
    在父组件中,通过v-on来监听子组件事件。

     1 <div id="app">
     2     <cnp @itemclick="cnpClick"></cnp>
     3 </div>
     4 
     5 <template id="cnp">
     6     <div>
     7         <button v-for="item in catgories" @click="btnclick(item)">
     8             {{item.name}}
     9         </button>
    10     </div>
    11 </template>
    12 
    13 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    14 <script>
    15     const cnp = {
    16         template: '#cnp',
    17         data () {
    18             return {
    19                 catgories: [
    20                     {id: 'aaa', name: '热门推荐'},
    21                     {id: 'bbb', name: '手机数码'},
    22                     {id: 'ccc', name: '家用办公'},
    23                     {id: 'ddd', name: '居家用品'}
    24                 ]
    25             }
    26         },
    27         methods: {
    28             btnclick (item) {
    29 //                console.log(item)
    30                 this.$emit('itemclick', item)
    31             }
    32         }
    33     }
    34 
    35     const app = new Vue ({
    36         el: '#app',
    37         data: {
    38             message: 'aaaaa'
    39         },
    40         components: {
    41             cnp
    42         },
    43         methods: {
    44             cnpClick (item) {
    45                 console.log(item)
    46             }
    47         }
    48     })
    49 </script>
    不积跬步无以至千里
  • 相关阅读:
    2016.10.15先占坑
    2016.10.11先占坑
    2016.10.13先占坑
    2016.10.7先占坑
    main()里面为什么要放String[] args
    对于一个给定的正整数 n ,请你找出一共有多少种方式使 n 表示为若干个连续正整数的和,要求至少包括两个正整数。
    求两个数的最大公约数的三种算法总结
    C++
    Dev-c5.11的使用
    客户端和服务器端的交互(未完待续)
  • 原文地址:https://www.cnblogs.com/lyt0207/p/11906335.html
Copyright © 2020-2023  润新知