美文网首页
Vue 生命钩子函数

Vue 生命钩子函数

作者: mage1160 | 来源:发表于2021-11-15 16:20 被阅读0次

    <body>

    <script src="../libs/vue.js"></script>

    <div id="app">

        {{message}}

        <h3 id="h3">{{message}}</h3>

        <button @click="message = 'No'">改变数据</button>

    </div>

    <script>

        var app = new Vue({

            el: '#app',

            data: {

                message: 'ok',

            },

            methods: {

                show() {

                    console.log("-----show-----被调用")

                }

            },

            //第一个生命周期钩子函数:在实例完全初始化之前,data,methods初始化之前调用

            beforeCreate() {

                console.log('=====beforeCreate=====')

                // console.log(this.message)

                // this.show()

            },

            //初始化data,和初始化methods

            //第二个生命周期钩子函数: 是data methods初始化完成之后调用的函数

            created() {

                console.log('=====created=====')

                // console.log(this.message)

                // this.show()

            },

            //vue开始编译模板,vue指令开始执行,此时,在内存中渲染了模板,没有挂载到页面上。

            //第三个生命周期钩子函数:模板已经在内存中渲染了,但是还没有挂载到页面上

            beforeMount() {

                console.log('=====beforeMount=====')

                //通过Id查找某个元素

                //innerText 拿到标签中的全部文本内容

                // var text = document.getElementById('h3').innerText

                // console.log('beforeMount',text)

            },

            //内存中的模板,替换到了页面中

            //第四个生命周期钩子函数:已经挂载到页面上

            mounted() {

                console.log('=====mounted=====')

                // var text = document.getElementById('h3').innerText

                // console.log('mounted',text)

            },

            //创建阶段:1,2,3,4(4个钩子函数)

            //mounted执行完之后,Vue实例已经创建完成。创建的最后一个生命周期钩子是mounted

            //运行阶段:5,6(两个钩子函数)

            //最少执行0次,最多执行无数次

            //第五个生命周期钩子函数: 页面还没有更新,,数据已经更新了

            beforeUpdate() {

                console.log('=====beforeUpdate=====')

                // var text = document.getElementById('h3').innerText

                // console.log('text',text)

                //

                // console.log('message',this.message)

            },

            //现根据data中的新数据,重新渲染内存中的DOM,在渲染到页面

            //第六个生命周期钩子函数:页面和数据都已经更新了

            updated() {

                console.log('=====updated=====')

                var text = document.getElementById('h3').innerText

                console.log('text', text)

                console.log('message', this.message)

            },

            //销毁阶段:7,8

            //第七个生命周期钩子函数:Vue实例进步销毁阶段,所有的data和methods、指令。。。都处于可用的状态

            //没有执行真正的销毁过程

            beforeDestroy() {

                console.log('=====beforeDestory=====')

            },

            //第八个生命周期函数:组件已经被销毁,所有的data、methods、指令都已经不可以

            destroyed() {

                console.log('=====destroyed=====')

            }

            //练习:创建Vue执行什么生命周期钩子函数

            //  =====beforeCreate=====

            //  =====created=====

            //  =====beforeMount=====

            //  =====mounted=====

            //修改data里的数据都执行什么生命周期钩子函数

            // =====beforeUpdate=====

            // =====updated=====

        })

    </script>

    </body>

    相关文章

      网友评论

          本文标题:Vue 生命钩子函数

          本文链接:https://www.haomeiwen.com/subject/ersozltx.html