Vue入门教程 第二篇 (数据绑定与响应式)

数据绑定

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:

1 <div id="app">
2   {{ message }}
3 </div>
1 var app = new Vue({
2   el: ‘#app‘,
3   data: {
4     message: ‘Hello Vue!‘
5   }
6 })

执行结果:Hello Vue!

除了上面的绑定方式,还有另外一种:

1 <div id="app">
2   <span v-bind:title="message">
3   </span>
4 </div>

 v-bind 特性被称为指令。指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性。

以上代码也可以简写为:

1 <div id="app">
2   <span :title="message">
3   </span>
4 </div>

对于html的绑定,还可以用到v-html

 1 <div id="app">
 2     <div v-html="message"></div>
 3 </div>
 4 <script>
 5 new Vue({
 6   el: ‘#app‘,
 7   data: {
 8     message: ‘<h1>test</h1>‘
 9   }
10 })
11 </script>

响应式

当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter

这些 getter/setter 对用户来说是不可见的,但是在内部它们让 Vue 能够追踪依赖,在属性被访问和修改时通知变更。

每个组件实例都对应一个 watcher 实例,它会在组件渲染的过程中把“接触”过的数据属性记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher,从而使它关联的组件重新渲染。

此外,我们也可以自定义watcher针对某一个data进行监控,当值改变时进行一些逻辑操作,后文我们会专门探讨。

由于vue是响应式的,JavaScript中message值的变化会立即影响到UI中的内容。反过来,UI中message的变化也可以立即同步到JavaScript中的值,这就需要用到另一个绑定方式:v-model

我们可以尝试一个例子:

 1 <div id="app">
 2   <input type="input" v-model="message">
 3   {{message}}
 4 </div>
 5 <script>
 6   new Vue({
 7     el: ‘#app‘,
 8     data: {
 9       message: ‘test‘
10     }
11   })
12 </script>

执行结果(输入框值改变时右侧内容同步改变):

原文地址:https://www.cnblogs.com/JHelius/p/11684138.html

时间: 2024-11-07 14:27:52

Vue入门教程 第二篇 (数据绑定与响应式)的相关文章

Vue入门教程 第一篇 (概念及初始化)

注:为了本教程的准确性,部分描述引用了官网及网络内容. 安装Vue 1.使用npm安装vue: npm install vue 2.下载使用js文件: https://vuejs.org/js/vue.min.js Vue概念 Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与现代化的工具链以及各种支持类库结

RxJava入门系列四,Android中的响应式编程

RxJava入门系列四,Android中的响应式编程 在入门系列1,2,3中,我基本介绍了RxJava是如何使用的.但是作为一名Android开发人员,你怎么让RxJava能为你所用呢?这篇博客我将针对Android开发来介绍一下RxJava的使用场景. RxAndroid RxAndroid是为Android打造的RxJava扩展.通过RxAndroid可以让你的Android开发变得更轻松. 首先,RxAndroid中提供了AndroidSchedulers,你可以用它来切换Android线

iOS开发 ReactiveCocoa入门教程 第二部分

ReactiveCocoa 是一个框架,它允许你在你的iOS程序中使用函数响应式(FRP)技术.加上第一部分的讲解,你将会学会如何使用信号量(对事件发出数据流)如何替代标准的动作和事件处理逻辑.你也会学到如何转换.分离和组合这些信号量. 在这里,也就是第二部分里,你将会学到更多先进的ReactiveCocoa特性,包括: 1.另外两个事件类型:error和completed 2.Throttling(节流) 3.Threading 4.Continuations 5.更多... 是时候开始了.

ReactiveCocoa入门教程——第二部分【转载】

ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术.在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号.你还学到了如何转换.分割和聚合这些信号. 在本系列教程的第二部分,你将会学到一些ReactiveCocoa的高级功能,包括: 另外两个事件类型:error 和 completed 节流 线程 延伸 其他 是时候深入研究一下了. Twitter Instant 在本教程中你将要开发的应用叫Twitter Instant

ReactiveCocoa入门教程——第二部分

ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术.在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号.你还学到了如何转换.分割和聚合这些信号. 在本系列教程的第二部分,你将会学到一些ReactiveCocoa的高级功能,包括: 另外两个事件类型:error 和 completed 节流 线程 延伸 其他 是时候深入研究一下了. Twitter Instant 在本教程中你将要开发的应用叫Twitter Instant

微信公众号开发入门教程第一篇

关键字:微信公众平台开发作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见底部. 本系列教程将引导你完成如下任务: 创建新浪云计算平台应用 启用微信公众平台开发模式 体验常用接收消息及发送消息类型 了解数据收发原理及消息格式 第一章 申请服务器资源 创建新浪云计算应用 申请账号 我们使用SAE新浪云计算平台作为服务器资源,并且申请PH

Vue入门教程

Vue入门基础基础 TypeScript 为 JavaScript 带来静态类型检查,让 JavaScript 编写中大型应用的时候可以应用工具来避免部分错误. Vue 很早就支持 TypeScript,但配置起来比较麻烦,幸好有了 Vue CLI 3.0.安装好 vue-cli 之后,使用 vue create 项目名称 来创建项目,vue 脚本手架自动创建以项目名称命名的目录. vue-cli 3 生成的项目结构比较科学,尤其是通过 components 和 views 将作为控件的组件和作

Angular09 数据绑定、响应式编程、管道

1 数据绑定的分类 1.1 单向数据绑定 1.1.1 属性绑定 -> 数据从组件控制类到组件模板 DOM属性绑定 HTML属性绑定 1.1.2 事件绑定 -> 数据从组件模板到组件控制类 1.2 双向数据绑定 组件模板和控制类的数据可以双向流通 2 属性绑定 请参见<揭秘angular2> P162 2.1 DOM属性绑定 2.2 HTML属性绑定 2.2.1 普通HTML属性绑定 2.2.2 CSS类绑定 2.2.3 Style样式绑定 3 事件绑定 请参见<揭秘angul

Vue入门教程 第三篇 (条件与循环)

v-if语法(条件) 符合条件时显示(渲染)某一元素. 1 <div id="app"> 2 <div v-if="ok"> 3 <h1>title</h1> 4 </div> 5 6 <div v-if="type==1"> 7 <h1>title2</h1> 8 </div> 9 <div v-else-if="type