聚合物不反映默认属性

polymer not reflecting default properties

我是 Polymer 的新手,发现文档很少。我正在尝试根据初始反射 属性 值设置自定义元素的样式,但无论我做什么,反射似乎都不起作用 - 我的元素上没有出现任何属性。如果我在代码中设置属性,它也不会出现。

<dom-module id="so-login">
<style>
    :host {
        background-color: white;
    }
    :host[loggedin] form, :host:not([expanded]) form {
        display: none;
    }
    :host[loggedin] #prompt, :host[expanded] #prompt {
        opacity: 0;
    }
</style>

<template>
</template>

<script>
Polymer({is:'so-login', properties: {
    expanded: { type: String, default: "Test", reflectToAttribute: true }
}});
</script>

<so-login></so-login>

我是 运行 在 Chrome & Edge 中,最新的。我错过了什么?

我假设你在谈论 "expanded" 属性,我在元素的属性对象中没有看到 "loggedin" 属性的证据。

与其将其声明为字符串,不如将其声明为属性对象中的布尔值。默认值设置为value:true,而不是default:true(如果是字符串也一样)。

如果它确实是一个字符串,您可能需要将它包含在元素的实例中; <so-login expanded="">