Vue.js学习笔记 第一篇 数据绑定
双花括号文本插值
先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title></title>
- <!-- 引用官网的Vue.js库 -->
- <script src="https://unpkg.com/vue"></script>
- </head>
- <body>
- <!-- HTML部分 -->
- <div id="app-1">
- <!-- “mustache” 语法(双花括号)的文本插值 -->
- <span>{{ content }}</span>
- </div>
- <!-- JS部分 -->
- <script type="text/javascript">
- var vm1 = new Vue({
- el: '#app-1', //关联元素
- data: {
- content: 'Hello, TanSea!' //变量赋值
- }
- })
- </script>
- </body>
- </html>
https://unpkg.com/vue是官方的地址,直接引用能随时保持使用的是最新版本,但是缺点是外国的网站,访问速度有点慢。当然也可以下载到本地来使用
这里Vue对象实例化仅仅给了2个参数,el(元素)和data(数据),其他的参数在后面的笔记中会说明
在浏览器的控制台输入vm1.content = 'Hello, World',对变量进行重新赋值,页面上的值也跟着一起变更。如果只需要第一次绑定,不要后续变更,可以使用v-once指令
给span标签添加v-once指令
- <!-- HTML部分 -->
- <div id="app-1">
- <!-- 当变量发生变更时,内容不会随着更新 -->
- <span v-once>{{ content }}</span>
- </div>
Vue的所有指令约定都是以v-开头,包括之后的自定义指令也推荐使用这种命名习惯
原始HTML
- <!-- HTML部分 -->
- <div id="app-2">
- <span v-html="rawHtml"></span>
- </div>
- <!-- JS部分 -->
- <script type="text/javascript">
- var vm2 = new Vue({
- el: '#app-2',
- data: {
- rawHtml: '<div style="color: red">Hello, TanSea!</div>'
- }
- })
- </script>
v-html指令直接插入原始HTML,直接插入HTML代码容易受到XSS攻击,不建议使用
属性
在HTML属性中无法使用“mustache” 语法了,需要使用v-bind指令,这也是Vue使用得最多的指令
- <!-- HTML部分 -->
- <div id="app-3">
- <a v-bind:href="url" v-bind:target="target">双子宫殿</a>
- </div>
- <!-- JS部分 -->
- <script type="text/javascript">
- var vm3 = new Vue({
- el: '#app-3',
- data: {
- url: 'http://www.tansea.cn',
- target: '_blank'
- }
- })
- </script>
使用v-bind指令绑定HTML属性,给HTML属性插值
JavaScript表达式
- <!-- HTML部分 -->
- <div id="app-4">
- <span :id="'site-' + (id + 1)">{{ isVisible ? '我是可见的' : '我是隐藏的' }}</span>
- </div>
- <!-- JS部分 -->
- <script type="text/javascript">
- var vm4 = new Vue({
- el: '#app-4',
- data: {
- id: 1,
- isVisible: true
- }
- })
- </script>
这里,我们看到了一个陌生的东西:id,他其实就是v-bind:id的简写方式
通过表达式的计算,span标签最终的结果是
- <span id="site-2">我是可见的</span>
Vue目前只支持单条表达式,所以以下的示例都无法运行
- <!-- 这是语句,不是表达式 -->
- {{ var a = 1 }}
- <!-- 流控制也无法运行,请使用三元表达式 -->
- {{ if (ok) { return message } }}
如果熟悉拉姆达表达式的话,这一块的内容就很好理解了
双向绑定
双向绑定是Vue的一个最主要的功能,他能很方便的实现实时预览的效果
- <!-- HTML部分 -->
- <div id="app-5">
- <p>{{ content }}</p>
- <input v-model:value="content">
- </div>
- <!-- JS部分 -->
- <script type="text/javascript">
- var vm5 = new Vue({
- el: '#app-5',
- data: {
- content: 'TanSea'
- }
- })
- </script>
将input标签的值属性双向绑定到content上,当input标签的值属性发生改变时,p标签也会同步发生改变
Vue.js学习笔记 第一篇 数据绑定的更多相关文章
- vue.js学习系列-第一篇
VUE系列一 简介 vue是一个兴起的前端js库,是一个精简的MVVM.从技术角度讲,Vue.js专注于 MVVM 模型的 ViewModel 层.它通过双向数据绑定把 View 层和 Mode ...
- vue.js学习系列-第一篇(代码)
<html> <head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"> ...
- Vue.js学习笔记 第二篇 样式绑定
Class绑定的对象语法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- Vue.js学习笔记:在元素 和 template 中使用 v-if 指令
f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...
- Vue.js 学习笔记 第2章 数据绑定和第一个Vue应用
本篇目录: 2.1 Vue实例与数据绑定 2.2 指令与事件 2.3 语法糖 学习任何一种框架,从一个Hello World应用开始是最快了解该框架特性的途径. 我们先从一段简单的HTML代码开始,感 ...
- Vue.js——学习笔记
Vue-自学笔记 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...
随机推荐
- poj 3683(2-sat+输出一组可行解)
题目链接:http://poj.org/problem?id=3683 思路:对于每个结婚仪式,只有在开始或结束时进行这两种选择,我们可以定义xi为真当且仅当在开始时进行.于是我们可以通过时间先后确定 ...
- windown安装bloomFilter
个人博客:https://blog.sharedata.info/ 最近在研究python爬虫,需要在windown中安装bloomFilter来处理网页的去重问题,在window中安装python然 ...
- CodeIgniter框架——数据库类(配置+快速入门)
CodeIgniter用户指南——数据库类 数据库配置 入门:用法举例 连接数据库 查询 生成查询结果 查询辅助函数 Active Record 类 事务 表格元数据 字段元数据 自定义函数调用 查询 ...
- 导出网页中的table到excel
导出网页中的table到excel的两种简便方法: 1. 纯 JavaScript 方法,缺点只支持IE浏览器 var elTable = document.getElementById(" ...
- Spec Explorer 工具学习
基础概念:http://blogs.msdn.com/b/sechina/archive/2009/12/28/test.aspx 在线教程:http://blogs.msdn.com/b/sechi ...
- Json工具类库之Gson实战笔记
日常接口的数据传输通常使用xml或者json来传递数据,xml较庞大但是描述数据能力十分出众,json数据结构较小而且支持ajax传输,xml在数据传输和解析资源占用都比较逊色于json.因此日常的接 ...
- 安装git和配置
首先更新系统 yum -y update 安装依赖的包 yum -y install curl-devel expat-devel gettext-devel openssl-devel zli ...
- MariaDB数据库主从复制实现步骤
一.MariaDB简介 MariaDB数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MariaDB数据库支持单向 ...
- 关于handler内存泄露的问题
在使用Handler更新UI的时候.我是这样写的: public class SampleActivity extends Activity { private final Handler mLeak ...
- Autonomous System
自治系统(Autonomous System).在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协 议的小型单位.这个网络单位可以是一个简单的网络也可以是一个由一个 ...