vuejs是什么
vue本身具有响应式编程和组件化的特点。所谓响应式编程,即为保持状态和视图的同步,声明实例new Vue({data:data})后对data里面的数据进行了视图上的绑定,修改data里的数据,视图上的数据也会发生变化。
vue的组件化概念:“一切都是组件”,可以将任意封装好的代码注册成标签。Vue.component(‘example’,Example),可以在模板中以<example></example>
的形式调用。如果组件抽象的合理,这很大程度上能减少重复开发,而且配合vue-loader,可以将一个组件化的CSS、HTML和js都写在一个文件里,做到模块化的开发。
为何要使用vue
vue以轻量级,易上手被称道,MVVM的开发模式也使从原先的操作中解放出来,我们不再需要在维护视图和数据的统一上花大量的时间,而只需要关注于data的变化,代码变得更加容易维护。
生命周期
beforeCreate:在实例开始初始化时同步调用。此时数据观测、事件等都尚未初始化。
created:在实例创建之后调用。此时已完成数据绑定、事件方法,但尚未开始DOM编译,即未挂载到document中。
beforeMount:在mounted之前运行。
Mounted:在编译结束时调用,此时所有指令已经生效,数据变化已能触发DOM更新,但不保证$el已插入文档。
beforeDestory:在开始销毁实例时调用
destroyed:在实例被销毁之后调用。此时所有绑定和实例指令都已经解绑,子实例也被销毁。
beforeUpdate:在实例挂载之后,再次更新实例(例如更新data)时会调用该方法,此时尚未更新DOM结构。
updated:在实例挂载之后,再次更新实例并更新完DOM结构后调用。
actived:需要配合动态组件keep-live属性使用。在动态组件初始化渲染的过程中调用该方法。
deactived:需要配合动态组件keep-alive属性使用,在动态组件移出的过程中调用该方法。