1.插值
1. 文本
’Message‘ 语法(双大括号)的文本插值:{{ msg }}
2. 原始 html ,输出HTML需要使用 v-html 指令
3. 缩写
<span v-html="rawHtml"></span>
<!-- 完整语法 -->
<a v-bind:href="url">...</a>
<!-- 缩写 -->
<a :href="url">...</a>
<!-- 动态参数的缩写 (2.6.0+) -->
<a :[key]="url"> ... </a>
<!-- 完整语法 -->
<a v-on:click="doSomething">...</a>
<!-- 缩写 -->
<a @click="doSomething">...</a>
<!-- 动态参数的缩写 (2.6.0+) -->
<a @[event]="doSomething"> ... </a>
2.指令
<p v-if="seen">现在你看到我了</p>
// v-for
3.表单输入绑定
- 可以用 =v-model= 指令在表单 、 及元素上创建双向数据绑定
4.生命周期
vue的生命周期分为8个阶段:创建前后,载入前后,更新前后,销毁前后 。
- beforeCreate,实例已经被创建出来了,vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。
- created
数据data已经存在,可以调用methods中的方法,操作data的数据,但dom未生成,$el未存在 - beforeMount,实例的$el和data都已经挂载,虚拟的dom,模板还没渲染到页面中
- mounted,实例挂载完成,模板已经挂载到了页面中,用户可以看到渲染好的页面。
- beforeUpdate,data发送变化是会触发,更新的最新数据尚未同步到页面
- update,当data发送变化时触发。页面和data数据已经保持同步了。
- beforeDestory,组件销毁之前调用,在这一步,实例仍然完全可用。
- destoryed,组件销毁之后,对data的改变不会再触发周期函数,vue实例已解除事件监听和dom绑定,但dom结构依然存在。
4.vue和react区别
- 数据是不是可变的。
- 通过js操作一切还是各自的处理方式。
- 类似的组件写法还是声明式写法。
- 什么功能内置,什么交给社区去做。
- react的整体思路就是函数式,所以推崇纯组件,数据不可变,单向数据流,当然需要双向的地方也可以做到,比如结合redux-form,而vue是基于数据可变的,支持双向绑定。react组件的扩展一般是通过高阶组将,而vue组件会通过mixin。vue内置了很多功能,而react做得很少,很多都是由社区来完成的,vue追求的是开发的简单,而react更在乎方式是否准确。