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 的核心库只关注视图层,不仅 ...
随机推荐
- android中延迟执行某个任务
android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理 ...
- mac - MAC电脑安装Mysql服务器和Navicat for mysql客户端
1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://p ...
- DHCP动态主机配置协议
1.DHCP简述 某组织一旦获得了一个地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址.系统管理通常可以手工配置路由器中的IP地址(静态分配).但这项任务目前通常更多是使用动态主机配置协议( ...
- spring-security+hibernate4+quartz实现的心跳检测项目(转 收藏)
转自:http://www.52itstyle.com/thread-27470-1-1.html HeartBeat. ~2 Z8 U! ?8 r心跳检测各类应用服务器(如Tomcat,Jetty) ...
- 【BZOJ4444】[Scoi2015]国旗计划 双指针+倍增
[BZOJ4444][Scoi2015]国旗计划 Description A国正在开展一项伟大的计划——国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这项计划需要多名边防战士以接力的形 ...
- 用SQL语句生成唯一标识
以前都是在代码中生成GUID值,然后保存到数据库中去,今天发现用sql也能生成GUID值,觉得很新奇,所以记下来. sellect newid(); //得到的即为GUID值 此sql内置函数返回的 ...
- go build说明
go build命令用于编译我们指定的源码文件或代码包以及它们的依赖包. 例如,如果我们在执行go build命令时不后跟任何代码包,那么命令将试图编译当前目录所对应的代码包.例如,我们想编译goc2 ...
- django的ORM中的2个易混点
1.django数据模型中null=True和blank=True的区别 null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空,即在Null字段显示为YES. blank ...
- UI中各种手势的使用点击,捏合,清扫,旋转,平移,边缘移动,长按
#import "RootViewController.h" @interface RootViewController (){ UIImageView *imageView ...
- django-websocket 安装及配置
1.安装 dwebsocket (venv) C:\code_object\websocketTest>pip install dwebsocket -i https://pypi.douban ...