聚合物需要一些帮助在铁列表项目中建立一个网址

时间:2015-07-27 22:56:21

标签: polymer polymer-1.0

我遇到了与question类似的问题。

然而,我的情况有点不同,我似乎无法让它工作。到目前为止,我已经玩了一段时间没有运气......我需要href$="{{_getProject(item.project_id)}}"写成"webservices/api/projects/1"但是我能得到的最接近的是输出item.project_id而没有能够与它连接所以只是1.我尝试了各种各样的东西,但下面是我最近的。有没有人对如何让这个工作有任何想法?我确定这是我忽略的东西。

<template is="dom-bind">
    <iron-ajax url="<?echo $url?>" last-response="{{data}}" auto></iron-ajax>
    <iron-list items="[[data]]" as="item">
        <template>
            <div>
                <div class="item">
                    <div class="pad">
                       <div class="primary">[[item.project_name]]</div>
                       <div class="secondary">Project Deadline:</div> 
                       <div class="secondary">[[item.project_deadline]</div
                       <div class="secondary">Total Hours to date:</div>
                       <div class="secondary">[[item.project_total_hours</div>
                       <div class="secondary">[[item.project_id]]</div>
                    </div>
                    <a  href$="{{_getProject(item.project_id)}}"><iron-icon icon="assignment"><iron-icon></a>
                </div>
            </div>
        </template>
        <script>
            Polymer({
              _getProject: function(url) {
                return 'webservices/api/projects/' + url
             }
           });
       </script>
    </iron-list>
</template>

1 个答案:

答案 0 :(得分:0)

你的铁列表中的Polymer({...})调用将无法按预期工作(并且它实际上应该在控制台中显示错误),因为您没有定义/无法定义自定义<{1}}内的元素,但只有一个将被盖章的模板。

有两种方法可以达到你想要的效果。

  1. 定义您在iron-list

    中使用的自定义元素
    iron-list
  2. 在主模板上定义<dom-module id="my-item"> <template> <div class="item"> ... <a href$="{{_getProject(item.project_id)}}">...</a> </div> </template> <script> Polymer({ is: 'my-item', properties: { item: Object }, _getProject: function(url) { return 'webservices/api/projects/' + url } }); </script> </dom-module> <iron-list items="[[data]]" as="item"> <template> <my-item item="[[item]]"></my-item> </template> </iron-list> 功能

    _getProject