vue中v-model的数据双向绑定(重要)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head> <body>
<div id="app">
<input type="text" v-model="msg">
<!--v-model一般都是数据属性或者方法里面声明的****-->
<p>{{ msg }}</p>
<textarea placeholder="" v-model="msg"></textarea>
<!--只要绑定了v-model msg都会同时改变--> <!--单个复选框-->
<input type="checkbox" id="checkbox" v-model="checked">
<label for="checkbox">{{ checked }}</label>
<!--多个复选框,绑定到同一个数组-->
<div id='example-3'>
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames">
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
<label for="mike">Mike</label> <br>
<span>Checked names: {{ checkedNames }}</span> <br>
<!--for 和 id 一样的值作用就是 点击页面上的用户名就会自动聚集 跟点击输入框聚焦的效果一样-->
<label for="username">用户名:</label>
<!--懒监听-->
<input type="text" v-model.lazy="msg2" id="username">
<p>{{msg2}}</p>
<br> <!--单选框 绑定的是父级标签select不是option 所以select额度跟 span里的selected有关联-->
<div id="example-5">
<select v-model="selected">
<option disabled value="">请选择</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<span>Selected: {{ selected }}</span>
</div>
<!--多选绑定数组-->
<div id="example-6">
<select v-model="selected2" multiple style="width: 50px;">
<option>A</option>
<option>B</option>
<option>C</option>
</select> <span>Selected: {{ selected2 }}</span>
</div>
<br>
<!--清除前后空格-->
<input v-model.trim="msg3">
<p>{{msg3}}</p>
</div>
</div> <script src="vue.js"></script>
<script>
// v-model 只能应用在 input textarea select标签中
//双向数据绑定:之前的操作都是数据到view的过程(return 返回的数据给回div里的msg)
//先有数据到view,更改view,再有反向的
//一开始return 里面的msg 在加载页面的时候就已经放在了div中显示msg的位置了,有了数据到view的过程
//更改view就是在input输入框里改输入框的变化,就是修改msg,
//这时候data中的msg会随着变化, 进而导致<p>里面的msg跟着改变
new Vue({
el: "#app",
data() {
return {
msg: "alex",
msg2:"wusir",
msg3:"",
checked: false,
checkedNames: [],
selected: "",
selected2:[],
}//怎么显示到input的输入框?以前是用过value属性,在vue里value属性会被忽略掉
}
})
</script>
</body>
</html>
vue中v-model的数据双向绑定(重要)的更多相关文章
- vue中数据双向绑定的实现原理
vue中最常见的属v-model这个数据双向绑定了,很好奇它是如何实现的呢?尝试着用原生的JS去实现一下. 首先大致学习了解下Object.defineProperty()这个东东吧! * Objec ...
- vue中v-model 数据双向绑定
表单输入绑定 v-model 数据双向绑定,只能应用在input /textare /select <div id="app"> <input type=&quo ...
- Vue之九数据劫持实现MVVM的数据双向绑定
vue是通过数据劫持的方式来做数据绑定的,其中最核心的方法便是通过Object.defineProperty()来实现对属性的劫持,达到监听数据变动的目的. 如果不熟悉defineProperty,猛 ...
- 西安电话面试:谈谈Vue数据双向绑定原理,看看你的回答能打几分
最近我参加了一次来自西安的电话面试(第二轮,技术面),是大厂还是小作坊我在这里按下不表,先来说说这次电面给我留下印象较深的几道面试题,这次先来谈谈Vue的数据双向绑定原理. 情景再现: 当我手机铃声响 ...
- 【Vue】-- 数据双向绑定的原理 --Object.defineProperty()
Object.defineProperty()方法被许多现代前端框架(如Vue.js,React.js)用于数据双向绑定的实现,当我们在框架Model层设置data时,框架将会通过Object.def ...
- 【学习笔记】剖析MVVM框架,简单实现Vue数据双向绑定
前言: 学习前端也有半年多了,个人的学习欲望还比较强烈,很喜欢那种新知识在自己的演练下一点点实现的过程.最近一直在学vue框架,像网上大佬说的,入门容易深究难.不管是跟着开发文档学还是视频教程,按步骤 ...
- Vue的数据双向绑定和Object.defineProperty()
Vue是前端三大框架之一,也被很多人指责抄袭,说他的两个核心功能,一个数据双向绑定,一个组件化分别抄袭angular的数据双向绑定和react的组件化思想,咱们今天就不谈这种大是大非,当然我也没到达那 ...
- 原生js实现 vue的数据双向绑定
原生js实现一个简单的vue的数据双向绑定 vue是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时 ...
- AngularJS中数据双向绑定(two-way data-binding)
1.切换工作目录 git checkout step-4 #切换分支,切换到第4步 npm start #启动项目 2.代码 app/index.html Search: <input ng-m ...
- 如何在原生微信小程序中实现数据双向绑定
官网:https://qiu8310.github.io/minapp/ 作者:Mora 在原生小程序开发中,数据流是单向的,无法双向绑定,但是要实现双向绑定的功能还是蛮简单的! 下文要讲的是小程序框 ...
随机推荐
- wpf 深度复制控件,打印控件
原文:wpf 深度复制控件,打印控件 <Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.micr ...
- python3 提示No module named _sqlite3
yum install sqlite-devel 下载python3.6.3 重新编译安装 ./configure --enable-loadable-sqlite-extensions & ...
- win10 uwp 如何打包Nuget给其他人
原文:win10 uwp 如何打包Nuget给其他人 本文告诉大家,如果自己有做一些好用的库,如何使用 Nuget 打包之后上传,分享给大家. 首先需要知道一些 Nuget 打包需要知道的,请看 wi ...
- 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」
原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...
- C#如何将十六进制数字符串转byte[]?
代码: /// <summary> /// 16进制原码字符串转字节数组 /// </summary> /// <param name="hexString&q ...
- 搭建svn服务器&服务器客户端使用笔记
参考借鉴文章:http://www.cnblogs.com/vijayfly/p/5711962.html 之前尝试着用git管理公司代码,但被一个问题困惑了很久无法解决,那就是git该如何只pull ...
- Failed to recover corrupt cache entry
RangeError java.lang.RuntimeException: ERROR: Failed to recover corrupt cache entry at com.sun.deplo ...
- js打印指定元素内容
var v = document.createElement("div"); //向v中追加打印数据,可以将界面的元素追加进来 var h = window.open(" ...
- Qt Resource系统概说(资源压缩不压缩都可以)
什么是Qt Resource系统?简单的说,就是在可执行程序中存储binary文件,而且还是与平台无关的. 与Qt Resource系统密切相关的有三个法宝,分别是qmake.rcc.QFile. q ...
- [2017.02.15] 《C++Primer5》 复习笔记
编程语言主要是提供一个框架,用计算机能够处理的方式来表达问题的解决方法. 自定义数据类型class的基本思想是数据抽象dataabstraction和封装encapsulation.数据抽象是一种依赖 ...