今天的码农女孩学习了关于v-model的知识并结合表单做出了练习

v-model:当我们在输入框输入内容时,因为input中的v-model发生改变时,因为上面我们使用了Mustache语法,将message的值插入到DOM中,所以DOM会发生响应的改变,所以通过v-model实现了双向绑定

原理:v-model其实是一个语法糖,它的背后本质上是包含两个操作1.v-bind绑定了一个value属性;2.v-on指令给当前元素绑定input事件

    <div id="app">
        <input type="text" v-model="message">
        <h2>{{message}}</h2>
    </div>
    <script>
        const app=new Vue({
            el:"#app",
            data:{
                message:'hello'
            }
        })
    </script>

v-model结合radio:点击哪个单选按钮就在下面输出对应的性别

    <div id="app">
        <label for="nan">
            <input type="radio" id="nan" name="sex" value="男" v-model="sex">男
        </label>
        <label for="nv">
            <input type="radio" id="nv" name="sex" value="女" v-model="sex">女
        </label>
        <h2>你选择的性别是:{{sex}}</h2>
    </div>
    <script>
        const app=new Vue({
            el:"#app",
            data:{
                message:'hello',
                sex:''
            }
        })
    </script>

v-model结合checkbox:

checkbox单选框:点击同意协议下一步才可以点击,否则下一步禁用,布尔类型

checkbox多选框:点击对应的多选框就会在下面显示对应的爱好内容,数组类型

   <div id="app">
        <!-- 1.checkbox单选框 -->
        <label for="agree">
            <input type="checkbox" id="agree" v-model="isAgree">同意协议
        </label>
        <button :disabled="!isAgree">下一步</button>
        <br>
        <!-- 2.checkbox多选框 -->
            <input type="checkbox" value="篮球" v-model="hobby">篮球
            <input type="checkbox" value="足球" v-model="hobby">足球
            <input type="checkbox" value="棒球" v-model="hobby">棒球
            <input type="checkbox" value="排球" v-model="hobby">排球
            <h2>你的爱好是:{{hobby}}</h2>
    </div>
    <script>
        const app=new Vue({
            el:"#app",
            data:{
                message:'hello',
                isAgree:false,
                hobby:[]
            }
        })
    </script>

v-model结合select:两种类型选出相应的水果

     <div id="app">
        <!-- 1.选择一个 字符串类型-->
        <select name="sg" v-model="fruit">
            <option value="苹果">苹果</option>
            <option value="香蕉">香蕉</option>
            <option value="橙子">橙子</option>
            <option value="橘子">橘子</option>
            <option value="草莓">草莓</option>
            <option value="葡萄">葡萄</option>
        </select>
        <h2>你选择的水果是:{{fruit}}</h2>
        <!-- 2.选择多个 数组类型-->
        <select name="sg" v-model="fruits" multiple>
            <option value="苹果">苹果</option>
            <option value="香蕉">香蕉</option>
            <option value="橙子">橙子</option>
            <option value="橘子">橘子</option>
            <option value="草莓">草莓</option>
            <option value="葡萄">葡萄</option>
        </select>
        <h2>你选择的水果是:{{fruits}}</h2>
    </div>
    <script>
        const app=new Vue({
            el:"#app",
            data:{
                message:'hello',
                fruit:'香蕉',//默认选择
                fruits:[]
            }
        })
    </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值