vue的核心:声明式的指令和数据的双向绑定。

那么声明式的指令,已经给大家介绍完了。接下来我们来研究一下什么是数据的双向绑定?

另外,大家一定要知道vue的设计模式:MVVM

M是Model的简写,V是View的简写,VM就是ViewModel。

单向绑定和双向绑定的区别?

单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。

有单向绑定,就有双向绑定。

如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定。

什么情况下用户可以更新View呢?填写表单就是一个最直接的例子。当用户填写表单时,View的状态就被更新了,如果此时MVVM框架可以自动更新Model的状态,那就相当于我们把Model和View做了双向绑定。

其实单项数据也有双向绑定的意思,不过页面变动后数据的变化不会发生自动更新。

我们可以这样认为:双向数据绑定=单向数据绑定+UI事件监听。

我们先看个vue中双向数据绑定的例子:

<body><div id="app"><input type="text" v-model="meg"><p>{{data}}</p></div><script>var app = new Vue({el:'#app',data :{meg:''}})</script>
</body>

再简单不过了,效果显示,当我们在input输入框中输入内容的时候,下面p标签同步显示内容。这就是最典型的双向数据绑定的例子。vue里使用v-model实现此想法。

那么我们看一下v-model的实现原理是怎样的呢?

首先大家一定要知道,官网上介绍的。

通过官网的介绍,我们知道v-mode指令是v-bind:vlaue 和v-on:input的结合体。

看个例子吧,同时给大家介绍了计算属性getter的用法。

     <!-- <input type="text" v-model = 'usernameValue'> --><!-- 等价于: --><input type="text" v-bind:value='usernameValue' @input='inputHandler'><button @click='commitHandler'>提交</button><!-- ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例 --><div class="list" ref = 'item'></div>

var set = new Vue({el:'#set',data:{username:'',txt:''},methods:{commitHandler(){this.$refs.item.innerHTML = this.usernameValue;},inputHandler(e){this.usernameValue = e.target.value;}},computed:{usernameValue:{get(){return this.username;},set(newValue){this.username = newValue;}}}

看完上个例子之后,相信大家对v-model实现双向数据绑定和计算属性的setter方法一定有个新的认识了。

接下来我们看看v-model的一些基础用法!

v-model

v-model 指令在表单 <input> 及 <textarea> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。

v-model只适用在表单控件中

比如:表单文本、多行文本、复选框、单选按钮、多选按钮、选择框。内容太多,就不给大家一一阐述了。大家一定要去阅读vue的官网文档

https://cn.vuejs.org/v2/guide/forms.html

ps:官网上的vue的文档非常好,喜欢vue的同学没事多来看看!1

转载于:https://www.cnblogs.com/edeny/p/9358666.html

14-----表单输入绑定相关推荐

  1. Vue007_ 表单输入绑定

    表单输入绑定 使用 v-model  对表单数据自动收集 1) text/textarea 2) checkbox 3) radio 4) select <!DOCTYPE html> & ...

  2. Vue表单输入绑定(文本框和复选框)

    文本框 <!DOCTYPE html> <html>     <head>         <meta charset="utf-8"&g ...

  3. Vue表单输入绑定(元婴中期)

    表单输入绑定 基础用法 你可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自 ...

  4. uniapp 输入法画面_表单输入绑定 · uni-app跨平台移动应用开发 · 看云

    # 表单输入绑定 ## [基础用法](https://cn.vuejs.org/v2/guide/forms.html#%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95 &qu ...

  5. Vue.js 表单输入绑定

    基础用法 你可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方 ...

  6. 9.Vue 表单输入绑定

    基础用法 你可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方 ...

  7. Vue学习笔记(六) 表单输入绑定

    v-model 指令在表单元素上创建双向数据绑定,它负责用于监听用户输入事件以更新数据 注意,v-model 会忽略所有表单元素特性的初始值,而总是将 Vue 实例的数据作为数据来源 1.输入框 &l ...

  8. Vue基础-09-表单输入绑定

    Vue基础-09-表单输入绑定 Vue中想要操作表单的数据,无需再dom操作.比如登录.注册.添加 Vue中提供了一个指令v-model,可以表单的双向数据绑定 双向绑定 表单原始上面通过v-mode ...

  9. 02.Vue3 基础语法:常用语法、列表渲染、事件绑定和表单双向绑定

    Vue3 基础语法 1. Vue 中应用和组件的基础概念 createApp createApp 表示创建一个 Vue 应用,存储在 app 变量中. 传入的参数表示,这个应用最外层的组件,应该如何展 ...

  10. react表单双向绑定处理

    react中处理表单双向绑定的方法: constructor() {super()this.state = {commentData: [{name: '冯昕',text: '说自己是大帅哥',id: ...

最新文章

  1. MFC程序在控制台输出的实现
  2. 九余定理(hdu1013)
  3. 连接端口 配置hive_Zeppelin带有Kerberos认证的Hive解释器的配置
  4. CRMEB系统安装访问不了
  5. 克服SOA实施过程中的障碍
  6. 利用Java制作背单词小应用
  7. 天天学习: 关于美资,台资和国企比较分析
  8. 考研必备数学公式大全(数学二)(线性代数篇)
  9. vmware VCPU的一点理解记录
  10. 费控系统对接用友NC
  11. misc类设备驱动1——板载蜂鸣器驱动测试
  12. python 录屏_python实现录制全屏和选择区域录屏功能
  13. N-gram模型详解
  14. 网络编程中同步与异步,IO阻塞与非阻塞总结
  15. python 发送邮件535, 'Error: authentication failed' 解决
  16. docker pdf 中文版 linux,Docker入门实战手册PDF
  17. JavaWeb学习之BS/CS架构及tomcat容器项目部署
  18. 互联网赚钱的项目有哪些?6个互联网赚钱模式
  19. 柳州高级中学2021年高考成绩查询,2021年柳州所有高中排名一览表
  20. [家里蹲大学数学杂志]第265期武汉大学2013年高等代数考研试题参考解答

热门文章

  1. php qq邮箱发送邮件报错_PHP实现发送邮件(二)
  2. mysql下载for linux 64_mysql官网下载linux版本安装包
  3. php 计算每年春节日期,动态显示2019年农历春节倒计时—2019年1月21日23时45分
  4. python创建链表实例_python数据结构链表之单向链表(实例讲解)
  5. 卷积神经网络(CNN)结尾篇:可视化跟踪(Visualize)
  6. HTTP Session 的工作原理以及几个思维扩展
  7. 2016/11/14
  8. @ResponseStatus
  9. There is no Action mapped for namespace / and action name accredit.
  10. 提升网站转化率的四步优化方案