Vue.js 学习笔记


实例生命周期钩子

  • created 钩子可以用来在一个实例被创建之后执行代码
  • 不要在选项属性或回调上使用箭头函数,比如:created: () => console.log(this.a)

模板语法

插值

  • v-once指令,执行一次性插值,例:
<span v-once>这个将不会改变:{{ msg }}</span>

使用JavaScript表达式

  • {{}} //中可使用JavaScript表达式

指令

指令(Directives)是带有v-前缀的特殊属性

参数

一些指令能够接收一个“参数”,在指令名称之后以冒号表示。

<a v-bind:href="url">...</a>

缩写

  • v-bind 缩写 v-bind:href 等于 :href
  • v-on 缩写 v-on:click 等于 @click

计算属性和观察者

计算属性缓存vs方法

计算属性是基于他们的依赖进行缓存的

绑定HTML Class

对象语法

使用计算属性

<div v-bind:class="classObject"></div>
data: {
  isActive: true,
  error: null
},
computed: {
  classObject: function () {
    return {
      active: this.isActive && !this.error,
      'text-danger': this.error && this.error.type === 'fatal'
    }
  }
}

用在组件上

当在一个自定义组件上使用 class 属性时,这些类将被添加到该组件的根元素上面。这个元素上已经存在的类不会被覆盖。

条件渲染

使用 v-if 和 v-else 实现

<template> 元素上使用 v-if 条件渲染分组

可以把一个 <template> 元素当做不可见的包裹元素,并在上面使用 v-if。最终的渲染结果将不包含 <template> 元素。

v-else 和 v-else-if

v-else-if 2.1.0版新增

v-show

与v-if不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display。

v-if vs v-show

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

v-if 与 v-for 一起使用

当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注