[生命周期]
csdn的生命周期教程:blog.csdn.net/weixin_4579…
在methods同级,新建created函数,在里面写一个log打印,会发现,没有做任何操作,一刷新页面,这句话就会被自动打印
<script>
export default {
data() {
return {
mystate: false
};
},
methods:{
onmyenv(e){
console.log(e);
},
clickBtn(){
this.mystate = true
},
// 使用sync就不用再写一个方法来接收值了
// onStateEnv(e){
// console.log(e);
// this.mystate = e
// }
},
created(){
console.log("这是about的created函数");
}
}
</script>
之前学的方法要想被触发,都是通过一些事件来触发,但是生命周期函数不需要这些事件来触发
[created函数:]
这个时候,vue实例中的data、method已被初始化,属性也被绑定,但是此时还是
虚拟dom,真实dom还没生成,$el 还不可用。这个时候可以调用data和method的数据及方法,created钩子函数是最早可以调用data和method的,故一般在此对数据进行初始化。
上面这句话的意思就是在created函数中,可以调用data和methods中的属性和方法
[mounted函数:]
此时模板已经被渲染成真实DOM,用户已经可以看到渲染完成的页面,页面的数据也是通过双向绑定显示data中的数据。 这是实例创建期间的最后一个生命周期函数,当执行完 mounted 就表示,实例已经被完全创建好了,此时,如果没有其它操作的话,这个实例,就静静的躺在我们的内存中,一动不动。
生命周期方法不按生命周期的顺序写也是按照既定的顺序执行的,顺序不影响
<script>
export default {
data() {
return {
mystate: false
};
},
methods:{
onmyenv(e){
console.log(e);
},
clickBtn(){
this.mystate = true
},
// 使用sync就不用再写一个方法来接收值了
// onStateEnv(e){
// console.log(e);
// this.mystate = e
// }
},
created(){
console.log("这是about的created函数");
},
mounted(){
console.log("这是about的mounted函数");
}
}
</script>
[app launch、app show、 app hide]
这三个生命周期是微信小程序的生命周期,第一次加载app会执行app launch,当页面显示时执行app show,当离开页面时,执行app hide,再次回到页面又会执行app show
微信小程序、vue、uniapp各有各的生命周期
app.vue
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style>
/*每个页面公共css */
</style>
vue的其他生命周期函数也能写在这个文件中,如果写一个created方法建立,created方法是最先执行的,然后才是app launch,一般appvue文件中的生命周期不动它,这是官方写的,都是自己在页面中写自己的生命周期
一般网络请求放在created中,数据渲染在mounted中