个人博客地址,有兴趣的可以了解一下。
Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统
生命周期
注意事项:
- 不要在选项属性或回调上使用箭头函数,因为箭头函数没有
this
。 - 生命周期钩子的
this
上下文指向调用它的Vue
实例
图示:

模板语法
Vue.js
使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue
实例的数据。
在底层的实现上,Vue
将模板编译成虚拟 DOM 渲染函数。结合响应系统,Vue
能够智能地计算出最少需要重新渲染多少组件,并把 DOM 操作次数减到最少。
指令
Vue
的指令有:
v-if
v-else
v-else-if
v-on
v-bind
v-for
v-show
v-once
v-model
v-text
v-html
v-model
v-slot
v-pre
v-cloak
动态参数
从 2.6.0 开始,可以用方括号括起来的 JavaScript 表达式作为一个指令的参数:
<a v-bind:[attributeName]="url"> ... </a>
计算属性和侦听器
计算属性
- 处理复杂的逻辑
- 计算属性是基于它们的响应式依赖进行缓存的,在相关响应式依赖发生改变时它们才会重新求值
- 默认只有 getter ,不过在需要时你也可以提供一个 setter
侦听器
- 观察和响应 Vue 实例上的数据变动
- 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。
Class和Style的绑定
对象语法
<div v-bind:class="{ active: isActive }"></div>
绑定的数据对象不必内联定义在模板里:
<div v-bind:class="classObject"></div>
data: {
classObject: {
active: true,
'text-danger': false
}
}
CSS 属性名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
<div v-bind:style="styleObject"></div>
data: {
styleObject: {
color: 'red',
fontSize: '13px'
}
}
数组语法
<div v-bind:class="[activeClass, errorClass]"></div>
data: {
activeClass: 'active',
errorClass: 'text-danger'
}
也可以配合使用三元表达式&#