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语法笔记的更多相关文章

  1. Vue学习笔记-2

    前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...

  2. Vue学习笔记-Vue基础入门

    此篇文章是本人在学习Vue是做的部分笔记的一个整理,内容不是很全面,希望能对阅读文章的同学有点帮助. 什么是Vue? Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式 ...

  3. Vue:实践学习笔记(3)——组件使用

    Vue:实践学习笔记(3)——组件使用 全局注册 1.注册组件 Vue.component('my-component',{ //选项 }) 说明:my-component就是注册的组件自定义的标签名 ...

  4. Vue:实践学习笔记(1)——快速使用

    Vue:实践学习笔记(1)——快速使用 Vue基础知识 0.引入Vue 官方地址:Vue的官方下载地址 Vue推荐博客:keepfool 在你的程序中快速引入Vue: <!-- 开发环境版本,包 ...

  5. vue学习笔记(八)组件校验&通信

    前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...

  6. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...

  7. vue学习笔记(三)class和style绑定

    前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...

  8. Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明-Babel)

    五  Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitign ...

  9. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

随机推荐

  1. 刚安装的Linux Centos7使用yum安装firefox时提示:cannot find a valid baseurl for repo

    出现这个问题是因为yum在安装包的过程中,虽然已经联网,但是没法解析远程包管理库对应的域名,所以我们只需要在网络配置中添加上DNS对应的ip地址即可. 解决参考链接:https://blog.csdn ...

  2. VS2015 更改C++模式

    亲爱的小伙伴,有没有发现你们的VS2015装完以后和老江湖们用的不一样了,人家的界面打开是这样的 而你的界面打开是这样的 虽然看是只有一左一右的区别,但是内在确实有好多不一样. 想不想想老江湖一样,拥 ...

  3. C 进制 类型说明符 位运算 char类型

    一 进制 1. 什么是进制 是一种计数的方式 数值的表示形式 2. 二进制 1> 特点: 只有0和1 逢2进1 2> 书写格式: 0b或者0B开头 3> %d 以带符号的十进制形式输 ...

  4. python里pickle模块

    Pickle模块用于将复杂的文件转化为二进制的文件 pickle模块一般是在源代码里面含有较大的字典或者列表等复杂文件时,我们如果将文件直接写在源代码里面,这样会使得代码很冗余,并且源代码文件所占空间 ...

  5. Micro:bit 硬件架构介绍

    Micro:bit做为当红的少儿编程工具,这两年在编程教育领域越来越火.今天就从硬件架构开始,分享Micro:bit的相关主题. Microbit 硬件设计是根据ARM mbed技术所开发的应用IC及 ...

  6. 【Random】-随机数字-jmeter

    参数化 Random 参数化,存储结果的变量名,名字写了,就可以给其它请求使用

  7. phantomjs抛出IOException

    使用phantomjs对网页进行截图遇到的问题 问题描述: 使用的phantomjs版本:phantomjs-2.1.1-windows 使用的截图js文件,\phantomjs-2.1.1-wind ...

  8. asp.net mvc5 模式的现象思考

    .net mv5简化了一些应用逻辑,与其说是mvc架构模式,不如说应用.net Entity更好. 现在你只需要去随便创建一个类 相关数据 然后用一个类去继承 DbContext 定义一个 DbSet ...

  9. wwnjld团队第二轮迭代成员分数

    2014-01-05 第二轮迭代团队内成员分数如下(依据分数分配规则以及团队会议协商所得结果): 吴渊渊 23 汪仁贵 21.5 高小洲 19.5 聂建 22.5 吕家辉 23.5 程志 10

  10. 11.24Daily Scrum(4)

    人员 任务分配完成情况 明天任务分配 王皓南 实现网页上视频浏览的功能.研究相关的代码和功能.1007 实现视频浏览的功能 申开亮 实现网页上视频浏览的功能.研究相关的代码和功能.1008 实现视频浏 ...