我在定义该元素的属性时发现了Polymer元素非常奇怪的行为......特别是Arrays和Objects。
我有一个显示此数据数组的dom-repeat模板,以提供一些上下文。
例如:
//.... Template definition
<script>
Polymer({
is: 'sample-element',
properties:{
user: {
type:Object,
notify: true,
},
data:{
type: Array,
value: function(){
return [
{'name':"Facebook", 'website': "http://www.facebook.com"},
{'name':"Twitter", 'website':"http://www.twitter.com"},
{'name':"Google",'website':"http://www.google.com"}];
},
}
}
});
</script>
这渲染不正确,但是如果我切换这些属性的顺序,则在模板渲染时数据被定义为具有3个对象的数组。
例如:
//.... Template definition
<script>
Polymer({
is: 'sample-element',
properties:{
data:{
type: Array,
value: function(){
return [
{'name':"Facebook", 'website': "http://www.facebook.com"},
{'name':"Twitter", 'website':"http://www.twitter.com"},
{'name':"Google",'website':"http://www.google.com"}];
},
},
user: {
type: Object,
notify: true,
},
}
});
</script>
为什么这可以用于最后定义对象的任何线索? 控制台在示例元素中显示没有错误......
答案 0 :(得分:0)
如果您使用默认值,则订单确实很重要。
也许user
尝试访问尚未设置的data
值。