Vue 组件的生命周期

组件的生命周期

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div id="app">
            <!-- <App></App> -->
        </div>
        <script type="text/javascript" src="../js/vue.min.js"></script>
        <script type="text/javascript">
            /*
                生命周期的钩子函数   函数
                beforeCreate
                created
                beforeMount
                mounted
                beforeUpdate
                updated
                activated
                deactivated
                beforeDestroy
                destroyed
            */
            var Test = {
                data: function() {
                    return {
                        msg: ‘hello world‘
                    }
                },
                template: `
                    <div>
                        <div>{{msg}}</div>
                        <button @click = ‘changeHandler‘>改变</button>
                    </div>
                `,
                methods: {
                    changeHandler() {
                        this.msg = this.msg + ‘哈哈哈‘;
                    }
                },
                beforeCreate: function() {
                    // 组件创建之前
                    console.log(this.msg);
                },
                created: function() {
                    // 组件创建之后

                    // 使用该组件,就会调用created方法 在created这个方法中可以操作后端的数据,数据响应视图
                    // 应用: 发起ajax请求
                    console.log(this.msg);
                    this.msg = ‘改变了吧‘
                },
                beforeMount: function() {
                    // 挂载数据到DOM之前会调用
                    console.log(document.getElementById(‘app‘));
                },
                mounted: function() {
                    // 挂载数据到DOM之后会调用  Vue 作用以后的DOM
                    console.log(document.getElementById(‘app‘));
                },
                beforeUpdate() {
                    // 在更新DOM之前 调用此钩子函数 应用:可以获取原始的DOM
                    console.log(document.getElementById(‘app‘).innerHTML);
                },
                updated() {
                    // 在更新DOM之后 调用此钩子函数 应用:可以获取最新的DOM
                    console.log(document.getElementById(‘app‘).innerHTML);
                },
                beforeDestroy() {
                    console.log(‘beforeDestroy‘);
                },
                destroyed() {
                    console.log(‘destroyed‘);
                },
                activated() {
                    console.log(‘组件被激活了‘);
                },
                deactivated() {
                    console.log(‘组件被停用了‘);
                }
            }

            var App = {
                data: function() {
                    return {
                        isShow: true
                    }
                },
                // Vue的内置组件,能在组件的切换过程中将状态保留在内存中父,防止重复渲染DOM
                template: `
                    <div id=‘app‘>
                        <keep-alive>
                            <Test v-if = ‘isShow‘></Test>
                        </keep-alive>
                        <button @click = ‘isShow = !isShow‘>改变生死</button>
                    </div>
                `,
                components: {
                    Test
                },
                methods: {

                }
            }
            new Vue({
                el: ‘#app‘,
                data: function() {
                    return {

                    }
                },
                template: `<App />`,
                components: {
                    App
                }
            });
        </script>
    </body>
</html>

原文地址:https://www.cnblogs.com/jwen1994/p/10976812.html

时间: 2024-11-09 17:40:10

Vue 组件的生命周期的相关文章

vue组件的生命周期

先来张组件生命周期的示意图: 文档里是这样描述的:你不需要立马弄明白所有的东西,不过以后它会有帮助.传送门. Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期待的Vue实例不同. 1.beforeCreate 在实例初始化之后,数据观测和event/watcher时间配置之前被调用. 2.created 实例已经创建完成之后被调用.在这一步,实例

第九篇:Vue组件的生命周期钩子

组件的生命周期钩子 一.组件的生命周期:一个组件从创建到销毁的整个过程 二.生命周期钩子:在一个组件生命周期中,会有很多特殊的时间节点,且往往会在特定的时间节点完成一定的逻辑,特殊的事件节点可以绑定钩子 注:钩子 - 提前为某个事件绑定方法,当满足这个事件激活条件时,方法就会被调用 | 满足特点条件被回调的绑定方法就称之为钩子 <template> <div class="goods"> <Nav /> </div> </templ

vue嵌套组件的生命周期

vue嵌套组件的生命周期 问:有A.B.C三个组件,A为B的父组件,B为C的父组件,它们的创建和挂载顺序是怎样的?即(beforeCreate/created,beforeMounte/mounted)的执行顺序 代码演示 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewpo

聊一聊Vue实例与生命周期运行机制

Vue的实例是Vue框架的入口,担任MVVM中的ViewModel角色,所有功能的实现都是围绕其生命周期进行的,在生命周期的不同阶段调用对应的钩子函数可以实现组件数据管理和DOM渲染两大重要功能.例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM .在这个过程中,事件钩子可以辅助我们对整个实例生成.编译.挂载.销毁等过程进行js控制,给我们提供了执行自定义逻辑的机会.所以学习实例的生命周期,能帮助我们理解vue实例的运行机制,更

vue与 react 生命周期

Vue vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么? beforeCreate 实例创建前:这个阶段实例的data.methods是读不到的created 实例创建后:这个阶段已经完成了数据观测(data observer),属性和方法的运算, watch/event 事件回调.mount挂载阶段还没开始,$el 属性目前不可见,数据并没有在DOM元素上进行渲染beforeMount:在挂载开始之前被调用:相关的 render

Vue中对生命周期的理解

Vue中对生命周期的理解 1. 实例.组件通过new Vue() 创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,这个时候,数据还没有挂载ね,只是一个空壳,无法访问到数据和真实的dom,一般不做操作 2. 挂载数据,绑定事件等等,然后执行created函数,这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数,在这里可以在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取 3. 接下来开始找实例

Vue的过滤器,生命周期的钩子函数和使用Vue-router

一.过滤器 1.局部过滤器 在当前组件内部使用过滤器 给某些数据 添油加醋 //声明 filters:{ '过滤器的名字':function(val,a,b){ //a 就是alax ,val就是当前的数据 } } //使用 管道符 数据 | 过滤器的名字('alex','wusir') <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8">

关于Vue实例的生命周期(2)

 关于Vue实例的生命周期(2) 创建(create)->挂载(mount)->更新(update)->销毁(destory) 钩子函数触发事件 beforeCreate 在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用. created 实例已经创建完成之后被调用.在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调.然而,挂载阶段还没开始,$el 属性目

React组件的生命周期

整个组件,从创建组件类开始,到渲染,到消亡的过程,就是组件的生命周期. 组件的生命周期可以分为三个阶段: 挂载阶段 更新阶段 卸载阶段 挂载阶段 在这个过程中,会触发以下几个事件 getDefaultProps,设置默认属性 getInitialState,设置初始状态 componentWillMount 即将挂载 render 渲染,就是挂载 componentDidMount 挂载完成 <!DOCTYPE html> <html> <head> <meta