vue中:create和mounted区别?

本文探讨了Vue的`mounted`钩子和Uni-App的`onReady`事件,以及它们与HTML中`$(document).ready()`的异同。文章通过实例解释了这些加载时机在页面内容渲染和DOM准备就绪上的区别,适合初学者理解前端框架的生命周期。

vue:create

uni-app:onload

HTML:

$(function(){ 
      // do something 
});

vue:mounted

uni-app:onReady

HTML:

$(document).ready(function(){
     //do something
})

刚学习,不知道理解对不对

### Vue.js 中 `created` `mounted` 的区别 #### 定义与执行时机 `created` 钩子会在 Vue 实例完成数据观测 (data observation)、计算属性 (computed properties)、方法 (methods) 事件回调的配置后触发,但此时 DOM 尚未挂载[^3]。这意味着在这个阶段无法访问到真实的 DOM 节点。 相比之下,`mounted` 钩子是在 Vue 实例已经完成了所有的初始化工作并成功将模板渲染成真实 DOM 并挂载到页面上之后调用[^3]。因此,在此阶段可以安全地操作 DOM 或者通过第三方库来进一步处理 UI 层面的内容。 #### 数据状态与DOM可用性 在 `created` 生命周期中,虽然能够访问由 `data()` 方法返回的对象以及响应式的变量,但由于还没有经历编译模板的过程,所以任何依赖于实际 HTML 结构的操作都不可能实现[^1]。例如尝试读取某个元素的高度或者宽度将会失败因为这些元素根本不存在于浏览器文档流当中。 而在进入 `mounted` 这一环节之前,不仅所有必要的设置都已经完毕而且也经历了完整的首次渲染流程,使得我们可以放心大胆地去查询甚至修改那些已经被正确显示出来的节点了[^2]。 #### 使用场景建议 对于一些只需要基于已有模型的数据来进行逻辑判断而不需要涉及到具体视图层面上的任务来说,则非常适合放在 `created` 当中完成;如果某些功能确实需要用到当前屏幕上呈现出来的东西作为依据的话——比如调整滚动条位置、绑定自定义事件监听器给特定标签等等情况之下就应当考虑将其安排至 `mounted` 执行[^4]。 ```javascript export default { data() { return { message: 'Hello, Vue!' }; }, created() { console.log('Component created'); // 此处适合做一些异步请求或其他不涉及DOM的操作 }, mounted() { console.log('Component mounted'); this.$el.style.color = 'red'; // 可以在这里直接操作DOM样式 } }; ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值