Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。那么它的1.0和2.0有什么区别呢?让我们来看一下。
一、生命周期
1、1.0的生命周期:
周期 |
解释 |
init |
组件刚刚被创建,但Data、method等属性还没被计算出来 |
created |
组件创建已经完成,但DOM还没被生成出来 |
beforeCompile |
模板编译之前 |
compiled |
模板编译之后 |
ready |
组件准备(平时用得较多) |
attached |
在 vm.$el 插入到DOM时调用 |
detached |
在 vm.$el 从 DOM 中删除时调用 |
beforeDestory |
组件销毁之前 |
destoryed |
组件销毁之后 |
2、2.0的生命周期
周期 |
解释 |
beforeCreate |
组件刚刚被创建,但Data、method等属性还没被计算出来 |
created |
组件创建已经完成,但DOM还没被生成出来 |
beforeMount |
模板编译之前 |
mounted |
模板编译之后,组件准备 |
beforeUpdate |
组件更新之前(数据等变动的时候) |
updated |
组件更新之后(数据等变动的时候) |
activated |
for keep-alive,组件被激活时调用 |
deactivated |
for keep-alive,组件被移除时调用 |
beforeDestory |
组件销毁之前 |
destoryed |
组件销毁之后 |
2.0生命生命周期变化感觉变得更加语义化一点(有规律可寻,更好记了),而且增加了beforeUpdate、updated、activated、deactivated,删除了attached、detached。
二:过滤器
2.0将1.0所有自带的过滤器都删除了,也就是说,在2.0中,要使用过滤器,则需要我们自己编写,以下是一个自定义过滤器示例,
Vue.filter('toDou',function(n,a,b){
return n<10?n+a+b:''+n;
});
|
三:循环
关于整数循环,1.0的整数循环是从0开始的,2.0的整数循环是从1开始的,下面对比:
//HTML代码<ul id='box'>
<li v-for='val in 5' v-text='val'></li></ul>
|
四、片段代码
编写template的时候,2.0必须要用一个根元素(如div)将代码片段包裹起来,否则报错。
之前: 在1.0使用时完全没问题
<template>
<h3>我是组件</h3><strong>我是加粗标签</strong>
</template>
现在: 必须有根元素,包裹住所有的代码
<template id="aaa">
<div>
<h3>我是组件</h3>
<strong>我是加粗标签</strong>
</div>
</template>
|
以上只是列举了部分变化,总体来说vue升级到2.0的变化还是没辣么大的,还有一些新变化等爬完坑再来补充
( ? ?ω?? )?
(责任编辑:yang) |