【问题标题】:Computed property with firebase element in polymer 1.0聚合物 1.0 中带有 firebase 元素的计算属性
【发布时间】:2015-10-26 08:58:21
【问题描述】:

我有一个元素,我从 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>

我正在尝试使用“项目”的标题属性创建一个计算属性“url”,但没有运气,知道如何实现吗?

我的控制台中也收到了来自 polymer-mini.html 文件的这条奇怪消息:

[my-positions-list::_prepTemplate]: 顶级 Polymer 模板不能是类型扩展,找到模板 Move inside simple 。

知道怎么解决吗?

【问题讨论】:

  • 控制台消息是由外部模板中的 is="dom-bind" 引起的。你可以删除它。仅当您想在 Polymer 元素之外使用自动绑定时才需要这样做。

标签: polymer polymer-1.0


【解决方案1】:

试试这个:

<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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多