今天我学习了一下Vue的计算属性和关于Vue实例生命周期的一些函数。
一.计算属性
计算属性简介点说就是一个基于它的依赖进行缓存的一种属性,通过函数的方式将变量变成新的变量,并且在组成变量改变时,才改变自身的一种属性
var vm = new Vue({ el: '#example', data: { message: 'Hello' }, computed: { reversedMessage: function () { return this.message.split('').reverse().join('') // return Date.now();时函数每次调用都会执行 } } })
好处就是能更灵活或者说更有效的定义一些由其他变量组成的变量或者基于其他变量变化的函数,从而提高运行的效率,在组成变量没有发生变化时直接从缓存中得到变量的值,从而提高了运行的效率。但是当计算属性对应的变量不是响应式变量时,就没有这个特性了,因为变量一直在变化,那就必须每次调用getter的时候,调用函数了。
二.Vue实例的生命周期
作为Vue实例的一生算是比较爽的了,因为即使被调用了destroy函数,也只是“清理它与其它实例的连接,解绑它的全部指令及事件监听器”,它所定义的data,以及一些DOM,都还会存在。(谁会没事调用deatroy函数啊。)所以Vue实例的生命周期给予了我们一些钩子函数,用于在Vue实例被创建,载入,渲染,销毁的时候进行一些函数的调用。
beforeCreate(创建前)
created(创建后)
beforeMount(载入前)
mounted(载入后)
beforeUpdate(更新前)
updated(更新后)
beforeDestroy(销毁前)
destroyed(销毁后)
new Vue({ data: { a: 1 }, created: function () { console.log('a is: ' + this.a) } })