LightningElement Class — Unique Properties

DEX475 - Fields, Properties, and Attributes

📄 第 118 页 🎬 视频课程

课程章节介绍

同学们,今天咱们来聊聊每个闪电 Web 组件最核心的那个根,就是 ,LightningElement, 这个基类。你可以把它想象成盖房子的地基,所有的 LWC 组件都必须从这个基类扩展出来,没有它,我们的组件就跑不起来。 那这个基类给我们带来了什么宝贝呢?首先,它有一套独特的属性,支撑起了整个框架的核心功能。咱们一个一个看。 第一,,构造函数,。当你写一个组件类的时候,构造函数会自动运行,帮你初始化组件。比如设置一些初始状态,就在这里做。 第二,,hostElement, 属性。它让你可以直接访问到组件背后那个原生的 HTML 元素。如果你想对最外层的宿主元素做些操作,通过它就非常方便。 第三,,template, 属性。它让你能访问组件自己的影子 DOM 模板。不过这里有个重要的区别:如果你用的是标准的影子 DOM 模式,通过 `this.template` 就能拿到模板里的元素;但如果你用的是轻型 DOM 组件,也就是没有影子根,那么你就不能再用 `this.template` 了,而是直接使用 `this` 来引用组件内部的元素。这一定要记清楚,不然找元素时会踩坑。 第四,,refs, 属性。它提供了一种更快捷的方式来获取 DOM 元素。你只需要在模板里的元素上加上 `ref` 指令,然后直接通过 `this.refs.名字` 就能拿到那个元素,非常省事。 好,讲完属性,再来说说组件一生要经历的各个阶段,也就是,生命周期回调,。LightningElement 一共提供了五个生命周期钩子,让你能精准地在不同时间点插入自己的逻辑。 我把它们按常见顺序说一下: - ,constructor,:也就是前面提到的构造函数,组件被创建时最先触发,用来做最基本的初始化。 - ,connectedCallback,:中文常叫“挂载”。当组件被插入到 DOM 的时候会调用,非常适合去拉取数据、设置监听器这些。 - ,disconnectedCallback,:对应“卸载”。当组件从 DOM 里移除的时候触发,用来清理定时器、取消订阅,防止内存泄漏。 - ,renderedCallback,:每次组件渲染完成后都会调用。不管是首次渲染还是后续更新,只要界面渲染完毕,它就跑一次。在这里你可以做一些跟界面更新后的操作,但要小心,别引起循环渲染。 - ,errorCallback,:这是一个专门用于错误边界的回调。如果组件里的某个子组件在运行或渲染时抛出错误,这个回调就能捕获到,避免整个应用白屏,你可以在这里展示一个友好的错误提示。 记住这五个生命周期,你就掌握了组件从出生到消亡的全过程。今天这一页说白了,就是告诉大家,你所写的每一个 LWC 类,都有这些血脉传承下来的能力。理解了它,后面的学习就轻松多了。

关键词

LWC Lightning Web Components Salesforce