Lit框架问题:嵌套自定义模板无法渲染
问题分析与解决方案
你遇到的问题核心原因很明确:重写了connectedCallback方法但没有调用父类的super.connectedCallback()。
Lit组件的connectedCallback内置了初始化渲染、绑定属性监听等关键逻辑,当你自定义这个方法却不执行父类的实现时,Lit的渲染流程就被中断了——这就是为什么你能看到connectedCallback的日志,但render()完全没触发的原因。
修复后的ul-mail组件代码
@customElement("ul-mail") class UlMail extends LitElement { connectedCallback(): void { super.connectedCallback(); // 必须调用父类的回调方法 console.log("UL-MAIL CHILD: connected now"); } public render() { console.log("UL-MAIL CHILD: rendered"); return html`<p>hello from ul-mail!</p>`; } }
补充说明
在Lit组件中重写任何生命周期钩子(比如connectedCallback、disconnectedCallback、adoptedCallback)时,都必须调用对应的父类方法,否则会破坏Lit的内部工作机制,导致渲染、响应式更新等功能失效。
内容的提问来源于stack exchange,提问作者stackcen
相关产品推荐
相关产品推荐

