Vue:表单双绑、组件

vue一大精髓就是双向绑定

vue.js是一个mvvm框架,即数据的双向绑定,即当数据发生变化时的时候,视图也就发生变化,当视图发生变化时,数据也会同步变化

双向绑定是对于UI控件来说的,非UI控件不会涉及到数据的双向绑定

以input标签举例

<div id="app">
    输入的文本:<input type="text" v-model="message">{{message}}
    <br>
    男:<input type="radio" name="sex"   value="男" v-model="xingbie">
    女:<input type="radio" name="sex"   value="女" v-model="xingbie">
    <br>
    选中了谁:{{xingbie}}

</div>
<!--    到入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
<script>
    var vm = new Vue({

        el:"#app", //绑定id
        data:{
            message:"hello vue!",  //内容
            xingbie:""
        },
        methods:{

        }
    });

</script>

结果

其中 输入框中的value与message进行了绑定

而单选框中的value与xingbie进行了绑定

双向绑定用到的指令是v-model=""

v-model 会忽略所有表单元素的 valuecheckedselected attribute 的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data 选项中声明初始值。 

注意,在绑定单选框与复选框时,当你绑定单个,那绑定的为是否选中的布尔值

当你绑定多个复选框时,你绑定的是一个数组,

当你绑定的是多个单选框时,绑定的是value值

单选框:

    男:<input type="radio" name="sex"   value="男" v-model="xingbie">
    女:<input type="radio" name="sex"   value="女" v-model="xingbie">
    <br>
    选中了谁:{{xingbie}}

复选框:

    <input type="checkbox" name="work" value="医生" v-model="work1"> 医生
    <input type="checkbox" name="work" value="护士" v-model="work1"> 护士
    <input type="checkbox" name="work" value="司机"   v-model="work1"> 司机
    <input type="checkbox" name="work" value="狗蛋"   v-model="work1"> 狗蛋
    <br>
    选中了谁:{{work1}}

vue

    var vm = new Vue({

        el:"#app", //绑定id
        data:{
            message:"hello vue!",  //内容
            xingbie:"",
            work1:[],
        },
        methods:{

        }
    });

结果

 

posted @ 2023-04-21 18:41  软工小蜗牛  阅读(20)  评论(0编辑  收藏  举报