VUE中 父子組件之間的數據傳遞

1、 :count="1"與count="1" 兩種寫法 前者是數字 因為加了:就是js表達式,后者是字符串
2、子組件接收父組件傳遞過來的數據 使用props 如 props: ['count']
3、父組件可以向子組件傳遞參數,但是子組件不可以修改父組件傳過來的數據
4、子組件向父組件觸發(fā)事件 使用$emit,父組件就可以監(jiān)聽觸發(fā)的事件了 如:this.$emit('inc', 1)
5、子組件的data一定得是一個函數

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>VUE中 父子組件之間的數據傳遞</title>
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>

    <body>
        <div id="root">
            <counter :count="1" @inc="handleInc"></counter>
            <counter :count="2" @inc="handleInc"></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.$emit('inc', 1)
                    }
                }
            }
            var vm = new Vue({
                el: '#root',
                data: {
                    total: 3
                },
                components: {
                    counter: counter
                },
                methods: {
                    handleInc: function(step) {
                        this.total = this.total + step
                    }
                }
            })
        </script>
    </body>

</html>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容