1-8.vue指令:v-model指令

1-8.vue指令:v-model指令

v-model的作用

v-model用在表单元素上面,如最常用的text,select,textarea等标签,其主要是与这些表单元素进行双向绑定。双向绑定的含义是当该表单手动改变值或改变绑定元素的值得任意一方发生改变时,这两个都会发生改变。没理解,可以看下面代码展示。

v-model的使用

1.代码展示
<body>
  <div id='app'>
    <label for="text">
      <input type='text' id='text' v-model="message"/>
      <p>{{message}}</p>
    </label>
  </div>

  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: 'v-model指令的演示',
        ishow: true
      },
      methods: {
      }
    });
  </script>

</body>
2.原理分解

在这里插入图片描述

原理解析(讲解到底是怎么实现双向绑定的)

1.代码展示
<body>
  <div id='app'>
    <div>
      <label for="text">
        <input type='text' id='text' v-model="message"/>
        <p>{{message}}</p>
      </label>
    </div>
    <div>
      <label for="text1">
        <input type='text' id='text1' :value="message1" @input='inputChange'/>
        <p>{{message1}}</p>
      </label>
    </div>
  </div>

  <script>
    const app = new Vue({
      el: '#app',
      data: {
        message: 'v-model指令的演示',
        message1: 'v-model原理的演示',
        ishow: true
      },
      methods: {
        inputChange(event) {
          console.log("aaa");
          this.message1 =event.target.value;
        }
      }
    });
  </script>

</body>
2.原理分解

在这里插入图片描述

v-model的简单使用

1.在radio中使用
<body>
  <div id='app'>
    <div>
      <label for="male">
        <input type='radio' id='male' value='male' v-model="sex"/></label>
      <br/>
      <label for="female">
        <input type='radio' id='female' value='female' v-model="sex"/></label>
    </div>
  </div>

  <script>
    const app = new Vue({
      el: '#app',
      data: {
        sex: 'male'
      },
      methods: {
      }
    });
  </script>

</body>
2.在checkbox中使用
<body>
  <div id='app'>
    <div>
      你的爱好是:
      <label for="ball">
        <input type='checkbox' id='ball' value='ball' v-model="hobby"/> 篮球
      </label>
      <label for="rap">
        <input type='checkbox' id='rap' value='rap' v-model="hobby"/> rap
      </label>
      <label for="jump">
        <input type='checkbox' id='jump' value='jump' v-model="hobby"/> 唱跳
      </label>
      <label for="other">
        <input type='checkbox' id='other' value='other' v-model="hobby"/> 其它
      </label>
    </div>
    <P>{{hobby}}</P>
  </div>

  <script>
    const app = new Vue({
      el: '#app',
      data: {
        hobby: []
      },
      methods: {
      }
    });
  </script>

</body>
3.在select中使用
<body>
  <div id='app'>
    <div>
      <select v-model="area">
        <option value="wuhan" >武汉</option>
        <option value="beijing" >北京</option>
        <option value="shanghai" >上海</option>
        <option value="nanjing" >南京</option>
      </select>
    </div>
    <P>{{area}}</P>
  </div>

  <script>
    const app = new Vue({
      el: '#app',
      data: {
        area: 'beijing'
      },
      methods: {
      }
    });
  </script>

</body>

v-model的一些属性

1.lazy

作用是将上面原理的input事件改成change事件。就是当input的值改变时,只有当input失去焦点后message的值才改变,没有做到实时同步,很简单试下就知道了

2.trim

作用就是去掉输入框里面的前后空格,这个一看见大家也都明白是干什么了

3.number

作用就是将输入的字符串转换成数字,这个也简单,大家试下也知道了,就是个类型转换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值