在聚合物1.0中具有firebase元素的计算属性

时间:2015-08-04 05:06:32

标签: polymer polymer-1.0

我有一个元素,我从firebase接收一些看起来像这样的数据:

<dom-module id="my-positions-list">
 <template is="dom-bind">
  <firebase-collection data="{{aa}}"
                    location="https://myapp.firebaseio.com/positions">
  </firebase-collection>

  <template is="dom-repeat" items="[[aa]]" as="item"> 
   <p><span>{{url}}</span></p>
  </template>
 </template>

 <script>
  (function () {
    Polymer({
      is: 'my-positions-list',
      properties: {
        url:{
          type:String,
          computed: 'url(this.item.title)'
        }
      },
      url: function(title) {
        return "/positions/" + title;
      }
    });
  })();
 </script>
</dom-module>

我正在尝试使用“item”的title属性创建一个计算属性“url”,但没有运气,任何想法如何实现?

我也在我的控制台中从polymer-mini.html文件中得到了这个奇怪的消息:

  

[my-positions-list :: _ prepTemplate]:顶级Polymer模板不能是类型扩展名,找到模板移动到简单内容。

知道怎么解决吗?

1 个答案:

答案 0 :(得分:4)

试试这个:

<dom-module id="my-positions-list">
  <template is="dom-bind">
    <firebase-collection data="{{aa}}"
                location="https://myapp.firebaseio.com/positions/"></firebase-collection>
    <template is="dom-repeat" items="[[aa]]"> 
      <p><span>{{url(item.title)}}</span></p>
    </template>
  </template>
</dom-module>
<script>
  (function () {
    Polymer({
      is: 'my-positions-list',
      url: function(title) {
        return "/positions/" + title;
      }
    });
  })();
</script>

这里是jsbin http://jsbin.com/lokegu/edit?html,output