第三篇 v-model(双向绑定)基础使用2.0

发布于:2023-01-09 ⋅ 阅读:(486) ⋅ 点赞:(0)

        上一篇 第二篇 v-for ( 列表渲染 ) 基础使用1.0 中讲述了这个 v-for 的列表循环内容,同时完成了一个小案例 ,那么在讲2.0前,先来讲一下v-model指令;

v-model

v-model 指令 主要实现数据的双向绑定 ,通常使用在表单元素上,下面用一个简单的例子演示,

这里需要用到 vue 的一个拓展工具 vue-devtools 来演示,这个如有需要接下来会给到大家。

<div id="app">
        {{mytext}}
</div>

<script type="text/javascript">
      new Vue({
          el:'#app',
           data:{
              mytext:'LHXZ'
          }
      })
</script>

打开控制并点开 vue-devtools 拓展工具查看 mytext 数据;并进行修改保存查看页面的变化;

 

了解了这个v-model指令之后进一步来拓展之前的待办录案例,v-model 指令实现双向数据绑定,并常用于表单元素,之前的待办录获取 input 框的数据是需要 @input = "changeData"做数据的监听从而来获取的,那么v-model指令能够实现数据的双向绑定,那么我们能不能通过v-model指令从而拿到input框中的数据?

拓展(待办录) 2.0

 1.将v-model指令绑定到input上,同时值为data 中定义的 myinput:' '(修改之前的代码)

<div id="app">
      <h1>待办录2.0</h1>
      <input type="text" placeholder="请输入待办事情" v-model="myinput"/>
      <button @click="add()">添加</button>

      <ul v-for="item in list">
        <li>{{item}}</li>
      </ul>
</div>

2.打开控制台会发现,使用 vue-devtooks拓展查看,当我们修改 input 框当中的数据时,data当中的myinput的值也会随之发生变化,这就是v-model指令实现数据的双向绑定;

 3.使用v-model指令来对之前的案例修改会发现,之前的 待办录案例1.0 中去获取input框中数据的时候总是要去做数据变化的一个监听 ;最后需要对输入框的每一次输入后清空操作,则不需要用户每次添加之后都需要去删掉之前输入的内容;(修改之前的代码)

    <div id="app">
      <h1>待办录2.0</h1>
      <input type="text" placeholder="请输入待办事情" v-model="myinput"/>
      <button @click="add()">添加</button>

      <ul v-for="item in list">
        <li>{{item}}</li>
      </ul>
    </div>

    <script>
      var vm = new Vue({
			el:'#app',
			data:{
				// 定义一个待办事件的空数组
				list:[],
        // input框数据
        myinput:''
      },
      methods:{
        add(){
          // 添加到数组
          this.list.push(this.myinput);
          // 重置input框
          this.myinput = '';
        }
      }
		})
    </script>

        这一篇结合上一篇v-for的使用,从数据框拿数据是从数据变化的监听获取到数据(@input="changeData"),使用push()方法到数组,v-for基于数组渲染列表的这么一个过程,那么这一篇内容,是从v-model指令当中,利用v-model数据的双向绑定的特点结合获取到input数据,结合v-for实现了我们这个待办录1.0 到 2.0 。