聚合物属性订单......重要吗?

时间:2016-08-19 23:21:11

标签: polymer-1.0

我在定义该元素的属性时发现了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>

为什么这可以用于最后定义对象的任何线索? 控制台在示例元素中显示没有错误......

1 个答案:

答案 0 :(得分:0)

如果您使用默认值,则订单确实很重要。

也许user尝试访问尚未设置的data值。