子向父传值需要通过自定义事件实现。

    ·商品为子组件,购物车为父组件,父组件需要统计商品个数,

    就需要在子组件个数变化时传值给父组件。

    子组件向父组件传值 - 图1

    子组件向父组件传值 - 图2

    ·子组件数据变化时,通过$emit()触发自定义事件。

    子组件向父组件传值 - 图3

    ·自定义事件名称建议使用kebab-case。

    ·父组件监听子组件的自定义事件,并设置处理程序。

    子组件向父组件传值 - 图4

    <!DOCTYPE html> <html lang=“en”> <head> <meta charset=“UTF-8”> <meta name=“viewport” content=“width=device-width, initial-scale=1.0”> <title>Document</title> </head> <body> <div id=“app”> <h3>购物车</h3> <product-item v-for=“product in products” :key=“product.id” :title=“product.title” @count-change=“totalCount++” ></product-item> <p>商品总个数为:{{ totalCount }}</p> </div> <script src=“lib/vue.js”></script> <script> Vue.component(‘ProductItem’, { props: [‘title’], template: `
    商品名称: {{ title }}, 商品个数: {{ count }}
    `, data () { return { count: 0 } }, methods: { countIns () { this.$emit(‘count-change’); this.count++; } } }); new Vue({ el: ‘#app’, data: { products: [ { id: 1, title: ‘苹果一斤’ }, { id: 2, title: ‘香蕉一根’ }, { id: 3, title: ‘橙子一个’ } ], totalCount: 0 } }); </script> </body> </html>