首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在子lit-element中发送属性

在子lit-element中发送属性
EN

Stack Overflow用户
提问于 2020-08-01 00:19:31
回答 1查看 49关注 0票数 0

我正在尝试使用lit-element构建一个web应用程序。我有名为App的主类和具有时间和文本等属性的辅助类popup。

在应用程序中,我有:

代码语言:javascript
复制
class App extends LitElement {
    ...
    render() {
        return html`
            <myapp-popup .time="5000" .text="this is a test"></myapp-popup>
            ...
        `;
    }
    ...
}
customElement.define('my-app', App);

在弹出窗口中:

代码语言:javascript
复制
class Popup extends LitElement {
    ...
    constructor() {
        super();
        this.display = 'show';
        setTimeout(() => this.display = 'hide', this.time);
    }
    render() {
        return html`
            <span class="pop-up ${this.display}>${this.text}</span>
        `;
    }
}
customElement.define('myapp-popup', Popup);

问题是,在Popupconstructor中,变量time仍然是未定义的,即使我在App.render()中将其作为属性传递。

如何正确地将一些东西传递给子元素,这样它就可以在孩子的构造函数中使用?

EN

回答 1

Stack Overflow用户

发布于 2020-08-03 06:08:28

我会做<myapp-popup .time=${5000} text=${"this is a test"}></myapp-popup>。注意,在属性之前使用了.

在理想情况下,您将在元素本身上定义属性类型,并将其解析为:NumberStringArray等。Doc here

此外,您可能希望考虑使用connectedCallback生命周期方法,而不是使用构造函数(?)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63195548

复制
相关文章

相似问题

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