Polymer 聚合物在dom中的遍历特性铁表

Polymer 聚合物在dom中的遍历特性铁表,polymer,polymer-1.0,Polymer,Polymer 1.0,我有一个视图,其中包含一个ironlist和一个ironajax元素来填充数据。简化代码: :主持人{ 显示:块; 填充:10px; } [[项目说明]] HTMLImports.whenReady(函数(){ 聚合物({ 是:‘我的观点2’, 听众:{ “response”:“responseHandler” }, 行为:[聚合物.铁树脂化行为], 就绪:函数(){ console.log('my-view2就绪'); }, 附:函数(){ console.log('my-view2附件')

我有一个视图,其中包含一个
ironlist
和一个
ironajax
元素来填充数据。简化代码:


:主持人{
显示:块;
填充:10px;
}
[[项目说明]]

HTMLImports.whenReady(函数(){ 聚合物({ 是:‘我的观点2’, 听众:{ “response”:“responseHandler” }, 行为:[聚合物.铁树脂化行为], 就绪:函数(){ console.log('my-view2就绪'); }, 附:函数(){ console.log('my-view2附件'); }, 负责人:职能(e,细节){ log(“收到my-view2 ajax响应”); this.notifyResize(); log('notifyResize'); log('firstVisibleIndex:',this.$.listTemplate.$.itemList.firstVisibleIndex); log('lastVisibleIndex:',this.$.listTemplate.$.itemList.lastVisibleIndex); }, scrollHandler:函数(e){ log('滚动事件:',e); } }); });
我想在AJAX响应到达后获取
铁名单的
firstVisibleIndex
lastVisibleIndex
属性

我用它来访问属性:

this.$.listTemplate.$.itemList.firstVisibleIndex
this.$.listTemplate.$.itemList.lastVisibleIndex
我的问题:这是获得
铁名单属性的方法吗?还是有更好/更正确的方法来实现这一点

第一行给出了
0
的结果,第二行给出了
未定义的
,但当我查看Chrome开发工具时,第二个属性设置为
187
——与响应中返回的对象数相同。

是的,有一种“更好”的方法。:-)

聚合物状态:

元素模板中指定的具有
id
的任何节点都存储在
this.$
哈希by
id

因此,要访问ID为
itemList
的节点,只需执行以下操作:

var itemList = this.$.itemList;

更新问题是您的
铁名单
不正确地包含在自己的
模板中

<template>
  <template is="dom-bind" id="listTemplate" > <!-- unnecesary template -->
    ...
    <iron-list
            id="itemList"
            items="[[items]]"
            as="item"
            scrollTarget="html">
      <template>
        <div>
          <div class="item" tabindex$="[[tabIndex]]">
            <p>[[item.description]]</p>
          </div>
        </div>
      </template>
    </iron-list>
  </template>
</template>
是的,有一个“更好”的方法。:-)

聚合物状态:

元素模板中指定的具有
id
的任何节点都存储在
this.$
哈希by
id

因此,要访问ID为
itemList
的节点,只需执行以下操作:

var itemList = this.$.itemList;

更新问题是您的
铁名单
不正确地包含在自己的
模板中

<template>
  <template is="dom-bind" id="listTemplate" > <!-- unnecesary template -->
    ...
    <iron-list
            id="itemList"
            items="[[items]]"
            as="item"
            scrollTarget="html">
      <template>
        <div>
          <div class="item" tabindex$="[[tabIndex]]">
            <p>[[item.description]]</p>
          </div>
        </div>
      </template>
    </iron-list>
  </template>
</template>

我试过了,但是没有找到itemList,我想是因为它在另一个模板中,这就是为什么我给了该模板一个id,这样我就可以深入到itemList,但这对我来说似乎不自然me@MarcoSt,实际上代码中有一个bug。请参阅更新的答案。不知何故,我在某个地方(错误地)认为iron list(或iron ajax)必须位于其自己的模板标记中,感谢您向我指出这不是真的。我尝试过,但没有找到itemList,我想是因为它位于另一个模板中,这就是为什么我给了那个模板一个id,这样我就可以深入到itemList,但这对我来说似乎不自然me@MarcoSt,实际上代码中有一个bug。请参阅更新的答案。不知何故,我在某个地方(错误地)想到了铁名单(或铁ajax)必须在它自己的模板标记中,谢谢你向我指出这不是真的。