Vue之钩子函数

/* 你请求接口就是走这个钩子函数发出的 */

            /* 可以从ajax里面获取数据 */

            /* setTimeout(()=>{

                let data = "请求成功"

                this.msg = data;

            },500) */

            /* this.timer = setInterval(() => {

                console.log(123)

            }, 500); */

            /* this.time是定时器返回的唯一id */

            // console.log(this.timer);

        },

        /* 挂载前 */

        beforeMount(){

            /* 模板编译、挂载之前 */

            /* console.log(this.$el) */

            /* this.$el只是获取到了 但是没有挂载到模板上 */

            /* data里面的值是渲染不出来的 */

            /* console.log( document.getElementsByTagName('h1')[0] ); */

            /* console.log(document.getElementsByTagName('h1')[0].innerHTML) */

        },

        /* 挂载后 */

        mounted(){

            /* this.$el 获取到了 而且挂载到模板上 */

          /*  console.log(this.$el) */

          /* data里面的值是可以渲染出来的 */

          /*  console.log( document.getElementsByTagName('h1')[0] ); */

          /* console.log(document.getElementsByTagName('h1')[0].innerHTML) */

          /*  在dom的操作中适合在mounted里面去执行 */

        },

        beforeUpdate() {

            /* beforeUpdate值更新完之后,没有第一时间渲染到模板上

            只是在vue的实例中把data数据给改了 */

            console.log('beforeUpdate组件更新之前')

        },

        updated() {

            /* updated是既改了data中的值,又把值渲染到了模板上 */

            console.log('updated组件更新之后')

            /* 使用的场景 需要改变data中数据,你还需要做一些事情(业务逻辑需要的事情,

            例如埋点信息上报,echarts图获取了最新的数据需要重新渲染视图的时候),

            那么这个时候就需要updated函数来触发 */

        },

        /* 路由进行跳转的时候,会触发下面的函数(组件之间的切换) */

        beforeDestroy() {

            /* 执行beforeDestroy的vue的实例化对象还存在,还没有被完全的销毁 */

            /* console.log('beforeDestroy组件销毁前调用') */

        },

        destroyed() {

            /* 在执行destroyed的时候,组件已经完全被销毁 */

          /*  console.log('destroyed组件销毁后调用')

            clearInterval(this.timer) */

            /* 使用destroyed来清除定时器,避免全局的使用,造成性能消耗 */

        },

        methods: {

            /* 销毁组件 */

          /*  destoryzj(){

                this.$destroy()

            } */

        },



    });

    /* $el是vm实例化对象上使用 */

    /* console.log(vm.$el) */

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容