父子组件间的数据传递(4-2)

父子组件间的数据传递

数据的化就利用:count ="3"的值传到props:[‘count’]。
还有就是组件内定义的函数方法传值到外,this.$emit(‘inc’, 2)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src='./vue.js'></script>
</head>
<body>
    <div id="root">
        <!-- 加:会变为字符串,不加就是数字 -->
        <counter :count="3" @inc="handleIncrease"></counter>
        <counter :count="2" @inc="handleIncrease"></counter>
        <div>{
   
   {total}}</div>
    </div>    
    <script>
        
        var counter = {
     
     
            props: ['count'],
            data: function() {
     
     
                return {
     
     
                    number: this.count
                }
            },
            template: '<div @click="handleClick">{
     
     {number}}</div>',
            methods: {
     
     
                handleClick: function() {
     
     
                    this.number = this.number + 2;
                    this.$emit('inc', 2)
                }
            }
        }

        var vm = new Vue({
     
     
            el: '#root',
            data: {
     
     
                total: 5
            },
            components: {
     
     
                counter: counter
            },
            methods: {
     
     
                handleIncrease: function(step) {
     
     
                    this.total += step
                }
            }
        })
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_45647118/article/details/113961921