【问题标题】:Polymer Properties order ... matters?聚合物特性订单...重要吗?
【发布时间】:2016-08-19 23:21:10
【问题描述】:

在定义 Polymer 元素的属性时,我发现该元素的行为非常奇怪……特别是数组和对象。

我有一个显示此数据数组的 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>

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

【问题讨论】:

    标签: polymer-1.0


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多