聚合物不反映默认属性
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="">
我是 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="">