Vue.js学习笔记--1.基础HTML和JS属性的使用
整理自官网教程 -- https://cn.vuejs.org/
1. 在HTML文件底部引入Vue
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
2. 基础HTML标签和属性
<div id="app">
<!--v-bind:title 可缩写为 :title -->
<!--添加v-once属性时,能执行一次性地插值 -->
<!-- v-html="xx"可插入HTML代码 -->
<span v-bind:title="info">
<!-- 支持JS单个表达式,不能访问用户定义的全局变量 -->
{{ message }}
</span>
<!--v-on:click 可缩写为 @click -->
<button v-on:click="reverseMessage">逆转消息</button>
<p>Computed reversed message: "{{ reversedMessage }}"</p>
<p v-if="seen">切换元素显示</p>
<ol>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ol>
<!-- v-model实现表单输入和后台状态之间的双向绑定 -->
<input v-model="message">
</div>
3. 基础JS属性
var app = new Vue({
el:'#app',
data:{ //预设在data内的属性才是响应式的
message:'Hello Vue!',
info:'Show title.',
seen:true,
todos: [
{ text: 'Learn JavaScript' },
{ text: 'Learn Vue' },
{ text: 'Build something awesome' }
],
question: '',
answer: 'I cannot give you an answer until you ask a question!'
},
methods: { //Vue实例内方法函数
reverseMessage: function () {
this.message = this.message.split('').reverse().join('')
}
},
computed: { //计算属性,基于其依赖进行缓存,依赖变化时才重新求值
reversedMessage: function() { //默认方法为reversedMessage的getter(),也可设置setter()方法
return this.message.split('').reverse().join('')
}
},
watch: { //侦听属性,适合在数据变化时需要执行异步或开销较大时
// 如果 `question` 发生改变,这个函数就会运行
question: function (newQuestion, oldQuestion) {
this.answer = 'Waiting for you to stop typing...'
//调用其它处理答案的方法
}
},
created: function () { //vue实例中生命周期钩子函数之一
console.log('tips is:' + this.tips)
}
})
4. 备注
a. Vue实例中带有前缀$的属性和方法可将其与用户定义的分开,如$data,$watch等。
b. 利用freeze()函数可阻止修改现有data,用法如下:
var obj = {
foo: 'bar'
}
Object.freeze(obj);
//...
//vue实例中设置
//...
data: {
obj
}
Vue.js学习笔记--1.基础HTML和JS属性的使用的更多相关文章
- Node.js 学习笔记(一)--------- Node.js的认识和Linux部署
Node.js 一.Node.js 简介 简单的说 Node.js 就是运行在服务端的可以解析并运行 JavaScript 脚本的软件. Node.js 是一个基于Chrome JavaScript ...
- Vue.js学习笔记--2.基础v-指令
整理自官网教程 -- https://cn.vuejs.org/ 1. v-bind绑定Class与Style a. 绑定Class 语法:v-bind:class="{classname: ...
- JS学习笔记1_基础与常识
1.六种数据类型 5种基础的:Undefined,Null,Boolean,Number,String(其中Undefined派生自Null) 1种复杂的:Object(本质是一组无序键值对) 2.字 ...
- Vue.js学习笔记 第六篇 内置属性
computed属性 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...
- JS学习笔记:(三)JS执行机制
首先我们先明确一点:JavaScript是一门单线程语言.单线程也就是说同一时间只能执行一个任务,所有的任务都必须排队顺序执行.那么如果一个任务耗时很长,阻塞了其它任务的执行,就会给用户造成不友好的体 ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- Vue.js学习笔记:在元素 和 template 中使用 v-if 指令
f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...
随机推荐
- iOS + Nodejs SSL/Https双向认证
移动互联网的大力发展,安全越来越重要. 什么是双向认证呢?双向认证就是client要验证server的合法性,同一时候server也要验证client的合法性. 这样两方都相互验证,提高安全性. 关于 ...
- VMware 虚拟机添加硬盘以及为新添加的硬盘创建Samba共享 (转)
一.为VMware虚拟机添加硬盘 1. 首先在VMware虚拟机的VM->Setting子菜单中为虚拟机添加一块15G大小的SCSI类型的硬盘(注意:如果原来为IDE硬盘,SCSI类型的硬盘可能 ...
- 《C++ Primer Plus》学习笔记3
<C++ Primer Plus>学习笔记3 第8章 函数探幽 ============================================================== ...
- JS基本特效 -- 常见40个常用的js页面效果图(转载)
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...
- Codeforces 768 E. Game of Stones 博弈DP
E. Game of Stones Sam has been teaching Jon the Game of Stones to sharpen his mind and help him de ...
- mysql03---触发器
触发器trigger:某条数据改变,希望其他数据也改变(一张表的数据改变,另一张表的数据也变).监测insert,update,delete.能够监测增删改并出发增删改. 监测点(table)监测事件 ...
- bzoj2683(要改一点代码)&&bzoj1176: [Balkan2007]Mokia
仍然是一道cdq模版.. 那么对于一个询问,容斥一下分成四个,变成问(1,1)~(x,y),那么对于x,y,修改只有x'<=x&&y'<=y,才对询问有影响,那么加上读入顺 ...
- [Codeforces 545E] Paths and Trees
[题目链接] https://codeforces.com/contest/545/problem/E [算法] 首先求 u 到所有结点的最短路 记录每个节点最短路径上的最后一条边 答 ...
- JVM从理论到实践
这里实践不是指动手写JVM,而是动手做实验,结合日常工作相关的部分,理论与实践结合从而对这块知识有更深入的认识. 随着Java10的到来,JVM这块也有不少调整改进,网上大部分内容都是过时或大部分开发 ...
- asp.net Identity2 角色(Role)的使用(二)角色管理,角色控制器和视图
新建一个AdminViewModel 文件,建立视图模型类 public class RoleViewModel { public string Id { get; set; } [Required( ...