zoukankan      html  css  js  c++  java
  • vue自定义组件v-model

          一个组件上的`v-model`默认会利用名为`value`的prop(属性)和名为input的事件,但是像单选框、复选框等类型的输入控件可能会将`value`特性用于不同的目的。这时候我们可以在定义组件的时候,通过设置`model`选项可以用来实现不同的处理方式。
      在创建组件的时候,添加`model`属性,其中要包含两个属性配置,分别是:
    1. event:什么时候触发v-model行为
    2. prop:定义传递给v-model的那个变量,绑定到哪个属性值上

     下面是实现计数器作用的代码:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://cdn.jsdelivr.net/npm/vue"></script>
        <title>vue自定义组件v-model</title>
    </head>
    
    <body>
        <div id="app">
            <Stepper v-model="goodsCount"></Stepper>
        </div>
        <script>
            Vue.component('Stepper', {
                props: ['count'],
                template: `
                <div>
                    <button @click="sub">-</button>
                    <span>{{count}}</span>
                    <button @click="add">+</button>
                </div>
            `,
                model: {
                    //event:什么时候触发v-model行为
                    event: 'change-count',
                    // 定义传递给v-model的那个变量,绑定到哪个属性值上
                    prop: 'count'
                },
                methods: {
                    sub() {
                        // 触发上面model中定义的触发名称
                        // 这里不需要修改this.count的值,只要把最终的结果传递出去就行
                        this.$emit("change-count", this.count - 1)
                    },
                    add() {
                        this.$emit("change-count", this.count + 1)
                    }
                }
            })
            new Vue({
                el: "#app",
                data: {
                    goodsCount: 0
                }
            })
        </script>
    </body>
    
    </html>
      
  • 相关阅读:
    汇编语言从入门到精通-指令汇总
    汇编语言从入门到精通-5微机CPU的指令系统1
    两台W7系统的电脑,A电脑可以ping通B电脑,B电脑ping不通A电脑。
    linux与python3安装redis
    python3报:ImportError: No module named 'MySQLdb'
    Django安装数据库MySQLdb
    win7系统中开启wifi热点
    以太坊
    route命令
    Android——UI(1) (activity window decor)
  • 原文地址:https://www.cnblogs.com/xshan/p/12342509.html
Copyright © 2011-2022 走看看