今天大概了解一下Vue中的生命周期叭

简介: vue每个组件都是独立的,每个组件都有一个属于它的生命周期,从一个组件创建、数据初始化、挂载、更新、销毁,这就是一个组件所谓的生命周期。

生命周期:


  1. 别名:生命周期回调函数、生命周期函数、生命周期钩子。
  2. 是什么:Vue在关键时刻棒我们调用的一些特殊的函数。
  3. 生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。
  4. 生命周期函数中的this指向的是vm 或 组件实列对象。


常用的生命周期钩子:


  1. mounted: 发起Ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。
  2. beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。


关于销毁Vue实例:


  1. 销毁后借助Vue开发者工具看不到任何信息。
  2. 销毁后自定义事件会失效,但原生DO事件依然有效。
  3. 一般不会在beforeDestroy操作数据,因为即便操作数据,也不会在触发更新流程了。
<div id="root" >
    <!--
        v-bind:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。
        CSS property 名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:
    -->
    <!--
        引入data中独立的属性。此时需要我们手动添加一个花括号。把这个变成一个style对象。
         如果在data中直接声明的就是style中的关键属性名,那么就可以使用对象中属性的简写形式。
        这里面的属性民不是自定义的,必须是style样式对象中的关键字。
        此时绑定的是:style属性。
    -->
    <p v-bind:style="{color:colorObj,fontSize}">{{name}}</p>
    <!--
        引入data中对象属性。直接引入data中属性的对象名即可。
     -->
    <p v-bind:style="styleObj">{{name}}</p>
    <!--
        也可以获取到样式对象中的一部分配置。只取出样式对象中的颜色属性。
        此时从对象中取出的样式就是一个普通的属性,而不是一个对象,需要添加花括号。
    -->
    <p v-bind:style="{color:styleObj.color}">{{name}}</p>
    <h2 v-bind:style="{opacity:opacity}">一闪一闪</h2>
</div>
复制代码
<script type="text/javascript">
    Vue.config.productionTip = false;  // 阻止 Vue 在启动时生成生产提示。
    new Vue({
        el:'#root', // el用于指定当前Vue实列为哪个容器服务,值通常为css选择器字符串。
        data:{
            /*
            * style样式的单独配置写法。
            * */
            colorObj: 'blue',
            // 以下是配置的原始写法,需要给key值加上双引号。
            // 这个data中的属性名都是自定义的。
            // 如果直接定义为 style配置属性中的配置属性名,那么在style对象中可以使用简写的形式。
            'fontSize': '60px',
            /*
            * style样式的对象写法。
            * */
            styleObj:{
                color:'red',
                fontSize:'40px',
            },
            name:'欢迎学习Vue',
            opacity:1,
        },
        // Vue完成模板的解析并初始化的真实DOM元素放入到页面(挂载完毕)调用mounted函数。
        // 所谓 挂载其实就是DOM在页面中显示出来的。
        // Vue中的这些生命函数是固定的,但是其中的逻辑是不定的,我们可以自己任意写。
        mounted(){
            // 此时this执行是Vue实例对象vm
            console.log('mounted',this);
            // 这里使用的是箭头函数,将这个箭头函数中的this指向了外面
            // 外面是mounted()函数,这个函数中的this指向的是Vue的实列对象vm。
            // setInterval是一个定时器,第一个参数是这个定时器调用的函数。第二个参数是调用函数的间隔时间。
            setInterval(()=>{
                // 这里的this也是执行的Vue中的实例对象vm。可以使用vm直接获取到data中的opacity值
                // 每隔 16 毫秒调用一次定时器中的业务代码。
                this.opacity -= 0.01;
                if (this.opacity <= 0) this.opacity = 1;
            },16)
        }
    })
</script>



相关文章
|
3天前
|
JavaScript
Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
这篇文章介绍了在Vue项目中如何实现执行删除等危险操作时的二次确认机制,使用Element UI的`el-popconfirm`组件来弹出确认框,确保用户在二次确认后才会执行删除操作。
Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
|
3天前
|
JavaScript
如何创建一个Vue项目(手把手教你)
这篇文章是一篇手把手教读者如何创建Vue项目的教程,包括使用管理员身份打开命令行窗口、找到存放项目的位置、通过vue-cli初始化项目、填写项目信息、进入项目目录、启动项目等步骤,并提供了一些常见第三方库的引入方法。
如何创建一个Vue项目(手把手教你)
|
3天前
|
前端开发
StringBoot+Vue实现游客或用户未登录系统前、可以浏览商品等信息、但是不能购买商品或者加入购物车等操作。登录系统显示用户的登录名(源码+讲解)
这篇文章介绍了使用StringBoot+Vue实现用户登录状态判断的方法,包括前端加载用户信息和后端设置session的源码示例。
|
3天前
|
JavaScript
在Vue中使用Avue、配置过程以及实际应用
这篇文章介绍了作者在Vue项目中集成Avue组件库的完整过程,包括安装、配置和实际应用,展示了如何利用Avue实现动态表单和数据展示的功能。
在Vue中使用Avue、配置过程以及实际应用
|
3天前
|
JavaScript
如何在Vue页面中引入img下的图片作为背景图。../的使用
这篇文章介绍了在Vue页面中如何引入`img`目录下的图片作为背景图,提供了两种使用相对路径的方法。第一种是使用`../assets/img/`作为路径引入图片,第二种是使用`../../assets/img/`作为路径。文章还展示了使用这些方法的代码实现和效果展示,并鼓励读者学无止境。
如何在Vue页面中引入img下的图片作为背景图。../的使用
|
3天前
|
JavaScript
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
该博客文章介绍了如何在Vue 2框架下实现前后端分离的商品信息展示和详情页跳转,包括排序筛选、详情展示、加入购物车和分享功能。
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
|
3天前
|
JavaScript
在Vue中使用Swiper轮播图、同时解决点击轮播图左右切换按钮不生效的问题、同时将轮播图抽离出为一个公共组件
这篇文章介绍了在Vue中如何使用Swiper插件创建轮播图,解决Swiper左右切换按钮不生效的问题,并展示了如何将Swiper轮播图抽离成一个可复用的公共组件,同时提供了详细的安装、配置和优化建议。
在Vue中使用Swiper轮播图、同时解决点击轮播图左右切换按钮不生效的问题、同时将轮播图抽离出为一个公共组件
|
3天前
|
JavaScript
如何查看Vue使用的版本
这篇文章介绍了如何在项目中查看Vue及其相关库的版本信息,比如element-ui和element-china-area-data。要查看Vue的版本,需要查看项目中的`package.json`文件,在`dependencies`部分可以找到Vue的版本号。如果需要查询不同版本的兼容性,可以访问相应的官方文档或资源网站。
|
3天前
|
存储 JavaScript 前端开发
Vue中如何通过三元运算符来展示不同的操作
这篇文章讲述了在Vue中如何使用三元运算符结合v-if指令来根据订单的不同状态展示不同的操作按钮,例如在待发货状态显示退款按钮,在待付款或完成状态显示删除按钮。
|
3天前
|
JavaScript 开发者
在Vue中引入Message,弹窗提示错误信息
这篇文章讲述了在Vue CLI项目中如何处理异常,通过引入Message组件实现弹窗提示错误信息,帮助开发者排查和解决webpack等问题。