SOURCE

console 命令行工具 X clear

                    
>
console
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>

<div id="app">
    <base-input v-model.number="age" />
</div>

<script>
    Vue.component('base-input', {
        props: {
            value: Number
        },
        template: `
            <label>
                年龄:
                <input v-bind:value="value" v-on="inputListeners" />
            </label>
        `,
        computed: {
            inputListeners() {
                let vm = this
                return Object.assign({},this.$listeners,
                    {
                        input(event) {
                            vm.$emit('input', event.target.value)
                        }
                    }
                )
            }
        },
    })
    let vm = new Vue({
        el: '#app',
        data: {
            age: 18,
        },
        watch: {
            age(val) {
                console.log(val)
            }
        }
    })
</script>