0
点赞
收藏
分享

微信扫一扫

前端开发:Vue实例的生命周期钩子函数的使用,flutterplugin迁移

洛茄 2022-01-17 阅读 47

2、第二个生命周期函数,表示实例进行初始化的时候,会执行该函数

在 created 中,data和methods 都已经被初始化完成。 如果需要调用methods 中的方法,或操作data中的数据,最早只能在created中进行操作。

created() {

console.log(this.message);   // hello world

this.show();        //执行了show方法

},

3
、第三个生命周期函数,表示模板已经在内存中编译完成,但是还未把模板渲染到页面中

在beforeMount执行的时候,页面中的元素没有被真正替换,只是之前写入的一些模板字符串。

beforeMount() {

console.log(document.getElementById(‘h3’).innerText)  //{{message}}

},

4、第四个生命周期函数,表示内存中的模板已经真实的挂载到页面中,用户可以看到已经渲染好的页面

mounted是实例创建期间阶段的最后一个生命周期函数,当执行完 mounted 之后就表示实例已被完全创建,此时如果没有其它操作的话,这个实例就在内存中不动了。

mounted() {

console.log(document.getElementById(‘h3’).innerText)   //hello world

},

二、组件运行阶段的2个钩子函数


5、第五个生命周期函数,表示界面还没被更新,但是数据确定已经更新

当执行 beforeUpdate 的时候,页面中的显示的数据还是未更新的旧数据,但此时的data 数据是最新的,页面的数据尚未和最新的数据保持同步更新。

beforeUpdate() {

console.log(‘界面上的内容’+ document.getElementById(‘h3’).innerText)  //没有执行,因为数据没改变

console.log(‘data中message数据:’ + this.message)

},

6、第六个生命周期函数,表示界面的数据已经更新

updated事件执行的时候,页面和 data 数据已经保持一致了,都是最新的数据。

updated() {

console.log(‘界面上的内容’+ document.getElementById(‘h3’).innerText)   //Hi

console.log(‘data中message数据:’ + this.message)   //Hi

},

三、组件销毁阶段的2个钩子函数


7、beforeDestroy 生命周期是实例销毁前,在这个函数内还是可以操作实例的。

8、销毁完成后,再执行 destroyed,此时已不能再操作实例了。生命周期整个流程到此时就已经全部结束了。

})

附:组件选择的顺序

组件选项应该有统一的顺序,具体的顺序如下所示:

export default {

name: ‘’,

mixins: [],

components: {},

props: {},

data() {},

computed: {},

watch: {},

created() {},

mounted() {},

destroyed() {},

mixins: [],

components: {},

props: {},

data() {},

computed: {},

watch: {},

created() {},

mounted() {},

destroyed() {},

举报

相关推荐

0 条评论