Vue 父組件和子組件之間的雙向數據流動 .sync【版本需要2.3.0+】


<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
    <div id="test">
        <my :foo.sync='msg'></my>
        <!--@update:foo='val=>msg=val'-->
        {{msg}}
    </div>

    <script src="https://unpkg.com/vue"></script>
    <script type="text/javascript">
        Vue.component('my', {
            template: '<button @click="change(\'a\')">組件{{foo}}</button>',
            props: ['foo'],
            methods: {
                change: function(newValue) {
                    console.log(newValue)

                    this.$emit('update:foo', newValue); //調用update鉤子函數更新foo屬性,並傳入新值,val=>msg=val是ES6箭頭寫法,function(val){msg=val;}
                    //使用:foo.sync='msg'這種寫法會自動擴展爲 @update:foo='val=>msg=>val'【版本要在2.3.0+】,否則需要手動寫
                }

            }

        });
        var vm = new Vue({
            el: '#test',
            data: {
                msg: '思維'

            },
            methods: {
                go: function() {
                    console.log('go');

                }

            }

        })
    </script>
</body>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章