09-v-model的使用

01-v-model的基本使用

主要是使用他的双向绑定功能

<body>
    <div id="app">
      <!-- 实现双向绑定,修改input值也会影响message的值 -->
      <input type="text" v-model="message" />
      <p>{{message}}</p>
    </div>
    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          message: "你好啊,小影",
          name: "小影",
        },
      });
    </script>
  </body>

02-v-model的其他属性

  <body>
    <div id="app">
      <!-- v-model绑定radio的同一个值时,可以不写name -->
      <label for="male">
        <input type="radio" id="male" value="" v-model="sex" /></label>
      <label for="female">
        <input type="radio" id="female" value="" v-model="sex" /></label>
      <h2>您选择的性别是: {{sex}}</h2>

      <!-- checkbox单选框 -->
      <label for="agree">
        <input type="checkbox" id=" agree" v-model=" isAgree" />同意协议
      </label>
      <h2>您选择的是: {{isAgree}}</h2>
      <button :disabled="!isAgree">下一步</button>

      <!--2.checkbox多远框-->
      <input type="checkbox" value="篮球" v-model="hobbies" />篮球
      <input type="checkbox" value="足球" v-model="hobbies" />足球
      <input type="checkbox" value="乒乓球" v-model="hobbies" />乒乓球
      <input type="checkbox" value="羽毛球" v-model="hobbies" />羽毛球
      <h2>您的爱好是: {{hobbies}}</h2>

      <!--下拉框选择一个-->
      <select name="abc" v-model="fruit">
        <option value="苹果">苹果</option>
        <option value="香蕉">香蕉</option>
        <option value="榴莲">榴莲</option>
        <option value="葡萄">葡萄</option>
      </select>
      <h2>您选择的水果是: {{fruit}}</h2>

      <!--下拉框选择多个-->
      <select name="abc" v-model="fruits" multiple>
        <option value="苹果">苹果</option>
        <option value="香蕉">香蕉</option>
        <option value="榴莲">榴莲</option>
        <option value="葡萄">葡萄</option>
      </select>
      <h2>您选择的水果是: {{fruits}}</h2>
    </div>

    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          message: "你好啊,小影",
          name: "小影",
          sex: "男",
          isAgree: false,
          hobbies: [],
          fruit: "香蕉",
          fruits: [],
        },
      });
    </script>
  </body>

03-v-model修饰符

<body>
    <div id="app">
      <!--1.修饰符: lazy-->
      <!-- 默认情况下, v-mode|默认是在input事件中同步输入框的数据的。也就是说, 
        一旦有数据发生改变对应的data中的数据就会自动发生改变。
        lazy修饰符可以让数据在失去焦点或者回车时步会更新 -->
      <input type="text" v-model.lazy="message" />
      <h2>{{message}}</h2>

      <!--2.修饰符: number-->
      <!-- 默认情况下,在输入框中无论我们输入的是字母还是数字,都会被当做字符串类型进行处理。
      但是如果我们希望处理的是数字类型,那么最好直接将内容当做数字处理。
      number修饰符可以让在输入框中输入的内容自动转成数字类型: -->

      <input type="number" v-model.number="age" />
      <h2>{{age}}-{{typeof age}}</h2>

      <!--3.修饰符: trim-->
      <!-- 如果输入的内容首尾有很多空格,通常我们希望将其去除
      trim修饰符可以过滤内容左右两边的空格 -->

      <input type="text" v-model.trim="name" />
      <h2>您输入的名字:{{name}}</h2>
    </div>
    <script src="../js/vue.js"></script>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          message: "你好啊,小影",
          name: "小影",
          age: "",
          name: "小影",
        },
      });
    </script>
  </body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值