vue生命周期

1.computed是在HTML DOM加载后马上执行的,如赋值;

2.methods则必须要有一定的触发条件才能执行,如点击事件;

3.watch呢?它用于观察Vue实例上的数据变动。对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。

所以他们的执行顺序为:默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再watch。

4.mounted是生命周期

5.created和mounted区别?     
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
其实两者比较好理解,通常created使用的次数多,而mounted通常是在一些插件的使用或者组件的使用中进行操作,比如插件chart.js的使用
: var ctx = document.getElementById(ID);
通常会有这一步,而如果你写入组件中,你会发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么mounted就
是不二之选。下面看一个例子(用组件)。

Vue实例从创建到销毁的过程就是生命周期,既指从创建、初始化数据、编译模板、挂载DOM到渲染、更新渲染、销毁等一系列过程,
他主要分为8个阶段,创建前后、载入前后、更新前后、销毁前、销毁后、以及一些特殊场景的生命周期

、一般情况
直接说八个,然后在加一句,有两个路由组件特有的周期函数,actived和deactivated,不用说那么多

beforecreate->create    
    初始化vue实例,进行数据预测
create:
    完成数据观测,属性与方法的计算,watch。event事件回调的配置
    可调用methods中的方法,访问和修改data数据触发响应式渲染dom,可通过computed和watch完成数据计算,vm.$el还没有呗创建
beforeMount:
    在此阶段可获取vm.el
    此阶段vm.el完成初始化,但未挂载到el选项上
beforemount->mounted:
    vm.el完成挂载,vm.$el生成的dom替换了el选项的dom
mounted:
    vm.el已完成dom的挂载与渲染,打印vm.$el,发现之前的挂载点及其内容已经替换成新的dom
beforeupdate:
    更新的数据必须是渲染在模板上的(el;template;render)
    此时的view层未更新
    若在beforeupdate中再次修改,不会触发更新方法(beforeupdate;updated)
update:
    完成view层的更新
    若在beforeupdate中再次修改,会触发更新方法(beforeupdate;updated)
beforedestroy:
    实例被销毁前调用,此时实例属性与方法任可以访问
destroyed:
    完全销毁一个实例,可清理他与其他实例的链接,解绑他的全部指令及事件监听器
    并不能清楚dom,仅仅销毁实例

你可能感兴趣的:(vue.js,javascript,前端)