小白学习Vue(?)--v-model在表单中的使用

本文详细介绍了Vue.js中的v-model指令,用于实现表单元素如<input>、<textarea>、<select>等的双向数据绑定。v-model会忽略元素初始值,直接使用Vue实例的数据。示例包括文本框、文本区域、复选框、单选框和选择框的使用方法,展示了如何通过v-model更新和读取数据。
摘要由CSDN通过智能技术生成
1. v-model指令:

v-model 指令在表单<input>、<textarea> 及 <select> 元素上创建双向数据绑定

v-model 会忽略所有表单元素的 value、checked、selected attribute 的初始值而总是将 Vue 实例的数据作为数据来源

本文只讨论v-model在普通dom标签上的使用,关于自定义组件的model选项,可以查看model选项介绍

1.1. <input>文本框中使用:
<div id="test-modelNormal-input">
    <span>name: {{name}}</span><br/>
    <input v-model="name" value="abc"><br/>
    <!--name: zhangsan-->
    <!--忽略表单元素的 value的初始值'abc',而是将 Vue 实例的数据作为数据来源-->
</div>

<script>
    new Vue({
        el: '#test-modelNormal-input',
        data: {
            name: 'zhangsan'
        }
    });
</script>

1.2. <textarea>中使用:

使用上和<input>文本框的使用类似

<div id="test-modelNormal-textarea">
    <span>Multiline message is:</span>
    <p style="white-space: pre-line;">{{ message }}</p><br/>
    <textarea v-model="message" value="abc" placeholder="add multiple lines"></textarea><br/>
</div>

<script>
    new Vue({
        el: '#test-modelNormal-textarea',
        data: {
            message: ''
        }
    });
</script>
1.3. <input>复选框中使用:

单个复选框时,v-model绑定的值是boolean,复选框勾选时,会改变绑定的值,

<div id="test-modelNormal-checkbox">
    <input type="checkbox" id="checkbox" v-model="checked">
    <span>{{checked}}</span><br/>
</div>

<script>
    new Vue({
        el: '#test-modelNormal-checkbox',
        data: {
            checked: false
        }
    });
</script>

多个复选框时,v-model要绑定数组;勾选时,勾选的值会添加到数组里;取消勾选则移除数组对应的值

<div id="test-modelNormal-checkboxs">
    <input type="checkbox" id="jack" value="Jack" v-model="checkedNames">Jack</input>
    <input type="checkbox" id="john" value="John" v-model="checkedNames">John</input>
    <input type="checkbox" id="mike" value="Mike" v-model="checkedNames">Mike</input><br/>
    <span>Checked names: {{ checkedNames }}</span>
</div>

<script>
    new Vue({
        el: '#test-modelNormal-checkboxs',
        data: {
            checkedNames: []
        }
    });
</script>
1.4. <input>单选框中使用:

勾选时,改变属性值为对应value值

<div id="test-modelNormal-radio">
    <input type="radio" id="one" value="One" v-model="picked">One</input><br>
    <input type="radio" id="two" value="Two" v-model="picked">Two</input><br>
    <span>Picked: {{ picked }}</span>
</div>

<script>
    new Vue({
        el: '#test-modelNormal-radio',
        data: {
            picked: ''
        }
    });
</script>
1.4. <select>选择框中使用:

单选时,绑定字符串;多选时,绑定数组

<div id="test-modelNormal-selected">
    <select v-model="selected">
        <option disabled value="">请选择</option>
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select>
    <span>Selected: {{ selected }}</span>
</div>

<script>
    new Vue({
        el: '#test-modelNormal-selected',
        data: {
            selected: ''
            //selected: []
        }
    });
</script>

以上例子参考vue官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值