首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lit:嵌套模板不会呈现

Lit:嵌套模板不会呈现
EN

Stack Overflow用户
提问于 2021-12-30 08:22:14
回答 1查看 447关注 0票数 0

我有一个非常简单的模板和一个简单的嵌套模板。不幸的是,我的嵌套模板没有呈现任何内容。

我遵循了在:https://lit.dev/docs/components/rendering/中定义的示例

这是我的容器模板。

代码语言:javascript
复制
import "./ul-mail";

@customElement("box-mail")
class BoxMail extends LitElement {
  public render() {
    return html`
      <div>
        <ul-mail></ul-mail>
        <p>custom</p> 
      </div>
    `;
  }
}

这是我的嵌套模板。

代码语言:javascript
复制
@customElement("ul-mail")
class UlMail extends LitElement {

  connectedCallback(): void {
    console.log("UL-MAIL CHILD: connected now"); // triggers.
  }

  public render() {
    console.log("UL-MAIL CHILD: rendered"); // doesn't trigger.
    return html`<p>hello from ul-mail!</p>`;
  }
}

我的页面在devtools检查员中是这样的:

代码语言:javascript
复制
<box-mail>
 #shadow-root(open)
 <!---->
 <div>
   <ul-mail><ul-mail>
   <p>custom</p>
 </div>
</box-mail>

如您所见,ul-mail不呈现任何内容,也不呈现hello from ul-mail!

我在想到底是怎么回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-30 13:36:37

每当我们实现生命周期回调方法时,都有必要调用父类的方法(因此超类特性可以像预期的那样工作)。

如果您需要自定义任何标准的自定义元素生命周期方法,请确保调用超级实现(例如super.connectedCallback()),以便维护标准Lit功能。 标准自定义元素生命周期

代码语言:javascript
复制
  connectedCallback(): void {
    super.connectedCallback()
    console.log("UL-MAIL CHILD: connected now"); // triggers.
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70529083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档