vue指令之v-model

v-model属性是使用在表单元素中的,作用是实现表单和数据的双向绑定

传统的表单

    <div id="app" v-clock>
       <p>
           姓名:<input type="text" :value="val">
           {{val}}
        </p>
    </div>
    <script src = "js/vue.js"></script>
    <script>
       var vue = new Vue({
               el: "#app",
               data: {
                 val:"张三",         
               },
              
       })
    </script>

但是当用户在输入框输入内容是,vue中的data的val值却没有发生变化

当使用v-model属性时:

1  <p>
2         姓名:<input type="text" v-model="val">
3         {{val}}
4  </p>

可以发现data中的数据随输入框中的数据改变而改变

下面做一个案例

 1     <div id="app" v-clock>
 2         <h2>问卷调查</h2>
 3         <p>
 4             姓名:<input type="text" v-model="name">
 5         </p>
 6         <p>
 7             性别:
 8             <input type="radio" name="sex" value="男" v-model="sex"> 9             <input type="radio" name="sex" value="女" v-model="sex">10         </p>
11         <p>
12             爱好:
13             <input type="checkbox" name="hobby" value="打篮球" v-model="hobby">敲代码
14             <input type="checkbox" name="hobby" value="跳舞" v-model="hobby">打游戏
15             <input type="checkbox" name="hobby" value="读书" v-model="hobby">读书
16         </p>
17         <p>
18             籍贯:
19             <select name="native" id="" v-model="native">
20                 <option value="河北">河北</option>
21                 <option value="河南">河南</option>
22                 <option value="山东">山东</option>
23                 <option value="山西">山西</option>
24                 <option value="湖南">湖南</option>
25                 <option value="湖北">湖北</option>
26             </select>
27         </p>
28         <p>
29             您填写的表单内容为:姓名:{{name}},性别:{{sex}},爱好:{{hobby}},籍贯:{{native}}        
30         </p>
31         <button @click="submit">提交</button>
32     </div>
33     
34     <script src = "js/vue.js"></script>
35     <script>
36      var vue = new Vue({
37     el: "#app",
38     data: {
39         name: '',
40         sex: '男',
41         hobby: [],
42         native: '河北'
43     },
44     methods:{
45         submit() {
46             //汇总信息提交到后端
47             let obj = {
48                 name: this.name,
49                 sex: this.sex,
50                 hobboy: this.hobby,
51                 native: this.native
52             }
53             console.log(obj)
54         }
55     }
56 })
57     </script>

 

posted @ 2021-09-13 11:25  keyeking  阅读(411)  评论(0编辑  收藏  举报