·
编程学习 ·
267394
技术概述
created是一个生命周期的钩子函数。在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚不可用。本文将探讨created在使用过程中遇到的一些问题。
技术详述
关于生命周期,用通俗的语言来说,就是Vue中实例或者组件从创建到消灭中间经过的一系列过程。而created则是一个生命周期的钩子函数,就是一个vue实例被生成后调用这个函数。一个vue实例被生成后还要绑定到某个html元素上,之后还要进行编译,然后再插入到document中。每一个阶段都会有一个钩子函数,方便开发者在不同阶段处理不同逻辑。一般可以在created函数中调用ajax获取页面初始化所需的数据。
每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如,实例需要配置数据观测(data observer)、编译模版、挂载实例到 DOM ,然后在数据变化时更新 DOM 。在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。例如,created 这个钩子在实例被创建之后被调用:
var vm = new Vue({
data: {
a: 1
},
created: function () {
// `this` 指向 vm 实例
console.log('a is: ' + this.a)
}
})
也有一些其它的钩子,在实例生命周期的不同阶段调用,如 mounted、 updated 、destroyed 。钩子的 this 指向调用它的 Vue 实例。
技术使用中遇到的问题和解决过程
mounted和created的区别
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
通常created使用的次数多,而mounted通常是在一些插件的使用或者组件的使用中进行操作,比如插件chart.js的使用:
var ctx = document.getElementById(ID);
在软件工程实践开发的过程中,发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么在此时果断选择mounted。
总结
通过了解created和mounted的区别,对生命周期钩子有了一个更全面的了解。同时也锻炼了编写vue相关程序的能力。
参考链接:
- 生命周期钩子 | Vue.js
- Vue进阶(三十六):vue.js中created方法的使用详解
本文解决vue.js前端向flask后端发起搜索请求后,在windowschrome中正常显示图文结果,但在androidchrome、opera、edge等浏览器中图片丢失(仅firefox正常)的问题,核心原因是字符串匹配未统一大小写导致移动端浏览器匹配失败。 本文解决vue.js前端向flas...
Plotly是Python中制作交互式图表的首选工具,支持缩放、悬停、拖拽等交互功能,三步即可创建图表:准备数据、调用px.line等函数、用fig.show()显示或write_html导出;支持动画、实时刷新与用户交互驱动更新;可定制悬停信息、适配移动端并保障离线使用。 用Plotly快速创建可...
优先选pathlib用于新项目,os.path适合轻量脚本;前者面向对象、链式调用、IDE支持好,后者函数式、兼容性强、无需实例化。 Python中处理文件路径,os.path和pathlib是最常用的两个模块。前者是传统函数式风格,兼容性好;后者是面向对象设计,更直观、更现代。选哪个?不是非此即彼...
Python单元测试需兼顾覆盖率与精准断言:用pytest-cov生成HTML报告查漏补缺,聚焦missedlines;用原生assert验证返回值、异常和状态变化;通过parametrize覆盖边界与异常场景;在CI中设fail_under阈值强制保障质量。 写Python单元测试不只是让代码“跑...
Python项目重构是持续优化可维护性、可读性和可扩展性的过程,需小步快跑、测试护航、目标明确;优先改进命名与结构,补关键单元测试,解耦依赖,渐进升级技术债。 Python项目重构不是一次性的大手术,而是围绕可维护性、可读性和可扩展性持续优化的过程。关键在于小步快跑、测试护航、目标明确——每次改动只...
Python接口数据校验核心是精准拦截非法输入,用Pydantic定义请求模型实现类型与业务规则校验,分层处理参数级、业务级和外部依赖级验证,并统一返回前端友好的错误结构。 Python接口数据校验的核心,是提前拦截非法、缺失或格式错误的输入,避免后续逻辑因脏数据崩溃或产生错误结果。关键不在于“全量...
真正有效的错误追踪需整合日志记录、异常捕获、堆栈解析与上下文注入:统一用sys.excepthook接管未处理异常并写入结构化日志;主动在关键位置记录用户ID、请求ID等上下文;过滤框架堆栈仅保留项目源码帧;线上环境须关闭debug、日志落盘轮转、按ENV区分日志行为。 Python报错时,光看Tr...
Python文件IO默认阻塞,因调用操作系统同步系统调用(如read(2)),即使数据在页缓存中也需等待内核返回,机械硬盘或网络文件系统延迟可达毫秒级。 Python文件IO默认是阻塞的,这意味着调用read()、write()、open()等操作时,程序会停在当前线程等待系统完成磁盘或缓冲区操作,...