对应文档节点: https://vuefe.cn/v2/guide/components.html#Customizing-Component-v-model

<body>
    <div id="app">
        <label>父节点</label>
        <input type='checkbox' v-model='enable'>
        <br/>
        <label>子节点</label>
        <!--以下两种方式效果一致-->
        <input-checkbox v-model='enable'></input-checkbox>
        </input-checkbox>
        <!--<input-checkbox :checked="enable" @change="updateValue">
        </input-checkbox>-->
    </div>
</body>
<script>
    Vue.component('input-checkbox', {
        // 声明 props
        model: {
            prop: 'checked',
            event: 'change'
        },
        props: ['checked'],
        template: `
            <span>
            <input
                type='checkbox'
                v-bind:checked="checked"
                v-on:change="updateValue($event.target.checked)">
            </span>
        `,
        methods: {
            updateValue: function (value) {
                //debugger
                this.$emit('change', value)
            }
        }
    });

    new Vue({
        el: "#app",
        data: {
            enable: true
        },
        methods: {
            updateValue: function (value) {
                //debugger
                this.enable = value;
            }
        }
    });
</script>

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2021-07-25
  • 2021-06-22
  • 2022-02-12
  • 2021-12-07
猜你喜欢
  • 2021-12-25
  • 2021-05-16
  • 2022-12-23
  • 2021-10-18
  • 2022-02-11
  • 2021-06-12
  • 2022-12-23
相关资源
相似解决方案