Vue.js单向绑定和双向绑定实例分析
本文实例讲述了Vue.js单向绑定和双向绑定。分享给大家供大家参考,具体如下:
1、单向绑定
单向数据绑定的实现思路:
① 所有数据只有一份
② 一旦数据变化,就去更新页面(只有data-->DOM,没有DOM-->data)
③ 若用户在页面上做了更新,就手动收集(双向绑定是自动收集),合并到原有的数据中。
<!DOCTYPE html> <html> <head></head> <body> <div id="app"> {{message}} </div> <script> var app = new Vue({ el: '#app', data: { message: '' } }); </script> </body> </html>
2、双向绑定
数据的双向绑定是vue实现的一大功能。
使用v-model
指令,实现视图和数据的双向绑定。
所谓双向绑定,指的是vue实例中的data与其渲染的DOM元素的内容保持一致,无论谁被改变,另一方会相应的更新为相同的数据。这是通过设置属性访问器实现的。
v-model
主要用在表单的input输入框,完成视图和数据的双向绑定。
v-model
只能用在<input>、<select>、<textarea>这些表单元素上。
双向绑定的缺点:不知道data什么时候变了,也不知道是谁变了,变化后也不会通知,当然可以watch
来监听data的变化,但这复杂,还不如单向绑定。
<!DOCTYPE html> <html> <head></head> <body> <div id="app"> <input type="text" v-model="message"> <p>{{message}}</p> </div> <script> var app = new Vue({ el: '#app', data: { message: '' } }); </script> </body> </html>
希望本文所述对大家vue.js程序设计有所帮助。
相关推荐
-
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
在项目中开始使用vue2来构建项目了,跟 vue1 很大的一处不同在于2 取消了props 的双向绑定,改成只能从父级传到子级的单向数据流,初衷当然是好的,为了避免双向绑定在项目中容易造成的数据混乱. 解决方案一 然后开始参考网上和github上的方案等等,发现很多解决方案是这样的 用data对象中创建一个props属性的副本 watch props属性 赋予data副本 来同步组件外对props的修改 watch data副本,emit一个函数 通知到组件外 这里以最常见的 modal为例子:
-
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
上篇文章给大家介绍了浅析Vue自定义组件的v-model,大家可以参考下.接下来通过本文给大家介绍vue 自定义组件 v-model双向绑定. 父子组件同步通信的多种写法,具体详情如下所示: 父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa" 子组件使用$emit('update:msg', 'msg改变后的值xxx') 2.父组件传值直接传对象,子组件收到对象后可随意改变对象的属性,但不能改变对象本身. 3.父组件使用: v-mo
-
Vue2实现组件props双向绑定
Vue学习笔记-3 前言 Vue 2.x相比较Vue 1.x而言,升级变化除了实现了Virtual-Dom以外,给使用者最大不适就是移除的组件的props的双向绑定功能. 以往在Vue1.x中利用props的twoWay和.sync绑定修饰符就可以实现props的双向绑定功能,但是在Vue2中彻底废弃了此功能,如果需要双向绑定需要自己来实现. Vue2的组件props通信方式 在Vue2中组件的props的数据流动改为了只能单向流动,即只能由组件外(调用组件方)通过组件的DOM属性attribu
-
vue组件传递对象中实现单向绑定的示例
当使用vue组件时,组件之间经常需要传递数据,这里不讨论传递一个字符串变量或者数字变量的情况,那些去看官方文档就够了,此处提出我在组件间传递对象时遇到的一个坑. 当组件间传递对象时,由于此对象的引用类型指向的都是一个地址,所以在子组件中修改对象的某个属性值,父组件中的对象对应的属性也会随之改变,如果有这种双向绑定的需要,那么这也算一种不错的办法,但如果不需要这种双向绑定,那就要定义一个新的对象来复制原对象的属性和值,坑就在这里,假如你普通的var.let 一个对象,例如: computed: {
-
Vue.js每天必学之数据双向绑定
Vue.js 的模板是基于 DOM 实现的.这意味着所有的 Vue.js 模板都是可解析的有效的 HTML,且通过一些特殊的特性做了增强.Vue 模板因而从根本上不同于基于字符串的模板,请记住这点. 插值 文本 数据绑定最基础的形式是文本插值,使用 "Mustache" 语法(双大括号): <span>Message: {{ msg }}</span> Mustache 标签会被相应数据对象的 msg 属性的值替换.每当这个属性变化时它也会更新. 你也可以只处理
-
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 接下来给大家介绍vuejs单向绑定.双向绑定.列表渲染.响应函数基础知识,具体详情如下所示: (一)单向绑定 <div id="app"> {{ message }} </div> <sc
-
Vue实现双向绑定的方法
本文能帮你做什么? 1.了解vue的双向数据绑定原理以及核心代码模块 2.缓解好奇心的同时了解如何实现双向绑定 为了便于说明原理与实现,本文相关代码主要摘自vue源码, 并进行了简化改造,相对较简陋,并未考虑到数组的处理.数据的循环依赖等,也难免存在一些问题,欢迎大家指正.不过这些并不会影响大家的阅读和理解,相信看完本文后对大家在阅读vue源码的时候会更有帮助< 本文所有相关代码均在github上面可找到 https://github.com/DMQ/mvvm 相信大家对mvvm双向绑定应该都不
-
Vue 实现双向绑定的四种方法
1. v-model 指令 <input v-model="text" /> 上例不过是一个语法糖,展开来是: <input :value="text" @input="e => text = e.target.value" /> 2. .sync 修饰符 <my-dialog :visible.sync="dialogVisible" /> 这也是一个语法糖,剥开来是: <my
-
VUE实现表单元素双向绑定(总结)
本文介绍了VUE实现表单元素双向绑定(总结) ,分享给大家,具体如下: checkbox最基本用法: <input type="checkbox" v-model="inputdata" checked/> <input type="checkbox" v-model="inputdata"/> <input type="checkbox" v-model="inpu
-
vue数据双向绑定的注意点
最近一个vue和element的项目中遇到了一个问题: 动态生成的对象进行双向绑定是失败 直接贴代码: <el-form :model="addClass" :rules="rules" ref="addClass"> <el-form-item label="表单分类名称" prop="NAME" :label-width="formLabelWidth"> &
-
深入理解vue.js双向绑定的实现原理
前言 大家都知道Vue.js最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统.本文仅探究几乎所有Vue的开篇介绍都会提到的hello world双向绑定是怎样实现的.先讲涉及的知识点,再参考源码,用尽可能少的代码实现那个hello world开篇示例. 一.访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而必须通过defineProperty()方法单独定义. var obj = { }; // 为obj定义一个名为hello的访问器属性 Object.defin
随机推荐
- Swift流程控制之循环语句和判断语句详解
- PowerShell编程中的一些命名规则参考
- 详解jquery validate实现表单验证 (正则表达式)
- 详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
- 移动端效果之IndexList详解
- ASP 正则表达式的应用使用说明
- iOS中定位(location manager )出现log日志的解决办法
- java 验证码的生成实现
- JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
- Mysql联合查询UNION和Order by同时使用报错问题的解决办法
- JavaScript弹出新窗口后向父窗口输出内容的方法
- 关于《C和指针》的学习笔记
- 修改服务器配置 让asp.net文件后缀名随心所欲
- Android中用RxJava和ViewPager实现轮播图
- Apache Wind2003 配置网站目录权限小结
- iis6.0 应用程序不可用的解决方法
- Android获取通话时间实例分析
- android检查手机和无线是否连接的方法
- 魔兽世界教你设置游戏NPC集锦篇
- javascript实现日历效果