vue中 created 和 mounted 钩子的区别

1:在使用vue框架的过程中,我们经常需要给一些数据做一些初始化处理,这时候我们常用的就是在created与mounted选项中作出处理。

首先来看下官方解释,官方解释说created是在实例创建完成后呗立即调用。在这一步,实例已完成以下配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。

这话的意思我觉得重点在于说挂架阶段还没开始,什么叫还没开始挂载,也就是说,模板还没有被渲染成html,也就是这时候通过id什么的去查找页面元素是找不到的。下面看下实例来证明。

看这个例子的结果截图如下,此错误证明找不到id为name的Dom元素。即模板还未渲染成html

所以,一般creadted钩子函数主要是用来初始化数据。

2:mounted钩子函数一般是用来向后端发起请求拿到数据以后做一些业务处理。官方解释如下:

el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。

这意思是该钩子函数是在挂在完成以后也就是模板渲染完成以后才会被调用。下面看实例

下面是结果

取到了值,这说明这时候vue模板已经渲染完毕。因此,Dom操作一般是在mounted钩子函数中进行的

computed:{}   计算属性,什么是计算属性呢,我个人理解就是对数据进行一定的操作,可以包含逻辑处理操作,对计算属性中的数据进行监控。计算属性是基于它的以来进行更新的,只有在相关依赖发生改变时侧能更新变化,以函数的形式返回结果。然后可以像绑定普通属性一样在模板中绑定计算属性。

<body>
        <div id="box" :class="{a:true,b:true}">
            <div></div>
            {{msg}}
            <div>
                网址 {{msg}}的网络协议是:{{msg2}}
            </div>
        </div>
            <script type="text/javascript">
            window.onload=function(){
                new Vue({
                    el:"#box",
                    data:{
                        msg:"https://www.baidu.com"
                    },
                    computed:{
                        msg2:function(){
                            var s=this.msg.split(":")[0];
                            return s;
                        }
                    }
                })
            }
        </script>
    </body>

 

Vuecreated和mounted是生命周期钩子函数,用于在不同的阶段执行相应的操作。 created钩子函数在Vue实例创建完成后立即调用。在这个阶段,模板和虚拟DOM都还未渲染成真实的DOM。可以进行一些初始化操作,如数据的获取、事件的监听等。 而mounted钩子函数在Vue实例挂载到DOM元素上后调用。此时,实例已经创建并且模板和虚拟DOM都已经渲染成了真实的DOM。可以进行一些需要操作DOM的操作,例如访问DOM元素、操作DOM等。 所以,created和mounted区别在于调用的时机不同。created在Vue实例创建完成后调用,而mounted在实例挂载到DOM元素上之后调用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vuecreated和mounted区别浅析](https://download.csdn.net/download/weixin_38500944/12938173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Vue实例生命周期created和mounted区别详解](https://download.csdn.net/download/weixin_38523618/12774215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [VUEcreated和mounted有什么不同](https://blog.csdn.net/weixin_44031654/article/details/130781047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值