Vue语法笔记
Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM:
事件监听:
v-on 指令绑定一个事件监听器 缩写【@】 v-on:click
用户输入,绑定数据:
v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定。
绑定 DOM 元素属性: 缩写【:】
v-bind 缩写:
V-bind:title
v-bind:style
v-bind:href
v-bind:class
对象: v-bind:class="{ active: isActive, 'text-dange r': hasError }">
数组:<div v-bind:class="[activeClass, errorClass]">
插入内容:
Mustache 语法(双大括号),双大括号会将数据解释为纯文本,当数据改变时,插值处的内容会更新。
v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。
v-html 指令 为了输出真正的 HTML
v-text 会把所有的内容当成字符串给直接输出出来。
逻辑流转:
v-if 条件
v-else 元素必须紧跟在 v-if 或者 v-else-if 元素的后面
v-show 根据条件展示元素的选项是,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。
v-if vs v-show
注:v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件不太可能改变,则使用 v-if 较好。
v-for 循环
v-for 具有比 v-if 更高的优先级。
组件: 非常类似于自定义元素——它是 Web 组件规范的一部分
Vue.component('todo-item', {
props: ['todo'],
template: '<li>{{ todo.text }}</li>'
})
其他:
修饰符(Modifiers)是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。
过滤器可以用在两个地方:mustache 插值和 v-bind 表达式。
属性:
Vue 不能检测到对象属性的添加或删除
属性必须在 data 对象上
注:由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。
Vue 不允许动态添加根级响应式属性
注:Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上 Vue.$set(object, key, value) 或使用 Object.assign() 或 _.extend() 方法来添加属性。但是,添加到对象上的新属性不会触发更新。可以创建一个新的对象,让它包含原对象的属性和新的属性;例: this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 })
比较择优:
计算属性 vs Methods
要缓存最好用计算属性,不要缓存最好用methods
注:计算属性是基于它们的依赖进行缓存的,只有在它的相关依赖发生改变时才会重新求值。 如果你不希望有缓存,请用 method 替代。
计算属性 vs Watched 属性
有一些数据需要随着其它数据变动而变动时,最好使用 computed 属性。
在数据变化响应时,执行异步操作或开销较大的操作, 使用命令式的 watch 回调。
注:计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter ;
其他:
<router-link :to="'/content/' + i.id"> 转化为 <a href> </a>
注:router-link 是 VueRouter2 “声明式导航”的写法,在实际转换为 html 标签的时候,会转化为 <a></a>,里面的 to 属性,就相当于 a 的 href 属性。
Vue语法笔记的更多相关文章
- Vue学习笔记-2
前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...
- Vue学习笔记-Vue基础入门
此篇文章是本人在学习Vue是做的部分笔记的一个整理,内容不是很全面,希望能对阅读文章的同学有点帮助. 什么是Vue? Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式 ...
- Vue:实践学习笔记(3)——组件使用
Vue:实践学习笔记(3)——组件使用 全局注册 1.注册组件 Vue.component('my-component',{ //选项 }) 说明:my-component就是注册的组件自定义的标签名 ...
- Vue:实践学习笔记(1)——快速使用
Vue:实践学习笔记(1)——快速使用 Vue基础知识 0.引入Vue 官方地址:Vue的官方下载地址 Vue推荐博客:keepfool 在你的程序中快速引入Vue: <!-- 开发环境版本,包 ...
- vue学习笔记(八)组件校验&通信
前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...
- vue学习笔记(十)路由
前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...
- vue学习笔记(三)class和style绑定
前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...
- Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明-Babel)
五 Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitign ...
- Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)
(五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二 Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...
随机推荐
- Git与远程仓库关联以及关联错误解决方法
假设你github的用户名是 helloworld ,你在上面创建了一个 名为 hello 的 repository. 一. 与本地仓库进行关联 1.1用原生ssh进行关联,速度快: git re ...
- Selenium基础之--01(将浏览器最大化,设置浏览器固定宽、高,操控浏览器前进、后退)
1,将浏览器最大化 我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们"观看"脚本的执行. coding=utf-8 from selenium im ...
- 【button】 按钮组件说明
原型: <button size="[default | mini]" type="[primary | default | warn]" plain=& ...
- Java Web开发框架Spring+Hibernate整合效果介绍(附源码)(已过期,有更好的)
最近花了一些时间整合了一个SpringMVC+springAOP+spring security+Hibernate的一套框架,之前只专注于.NET的软件架构设计,并没有接触过Java EE,好在有经 ...
- Pandas基础教程
pandas教程 更多地可以 参考教程 安装 pip install pandas pandas的类excel操作,超级方便: import pandas as pd dates = pd.date_ ...
- 剑指offer-栈的压入弹出序列21
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- parity注记词和地址
remix skilled curled cobweb tactics koala bartender precinct energize exes ridden cohesive 0x00EeC52 ...
- 安装sqoop 1.99.4
参考http://sqoop.apache.org/docs/1.99.4/Installation.html 1.简介 sqoop2分为server和client两部分.server作为maprde ...
- Python高级编程-多线程
(一)进程线程概述: 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行 ...
- Java学习个人备忘录之关键字static
被static标记的东西会放在内存中被共享的,对象用到时,就会来取的. class Person { String name; //成员变量,实例变量 static String country = ...