17-vue和小程序中的生命周期对比

140 阅读2分钟

[生命周期]

csdn的生命周期教程:blog.csdn.net/weixin_4579…

image.png

在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>

之前学的方法要想被触发,都是通过一些事件来触发,但是生命周期函数不需要这些事件来触发 image.png

[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>

image.png

[app launch、app show、 app hide]

这三个生命周期是微信小程序的生命周期,第一次加载app会执行app launch,当页面显示时执行app show,当离开页面时,执行app hide,再次回到页面又会执行app show

微信小程序、vue、uniapp各有各的生命周期

image.png

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中