我有一个组件有两个属性暗示为布尔值。我注意到,激活了属性反射,使用一个作为字符串将打破另一个(铬稳定和金丝雀)。
<polymer-element name='any-name' attributes='attr1 boolattr'>
<template>
boolattr: <i>{{boolattr}}</i>, attr1: <i>{{attr1}}</i>
</template>
<script>
Polymer('any-name',{
publish:{
attr1 :{value:true,reflect:true},
},
boolattr:false
})
</script>
</polymer-element>
<any-name attr1="false" boolattr></any-name>
我知道attr1
不应该像这样使用,但我仍然对那里发生的事情感到好奇。为什么不再认可boolattr?
这里是功能性Jsbin:http://jsbin.com/qaroqa/1/edit
最后一件事,我注意到一旦准备好,HTML就会像这样
<any-name boolattr=""></any-name>
我想发生的事情是attr1
被解释为布尔值(因为暗示为一个)并反映为一个虚假的布尔值,意思是删除。那是对的吗 ?