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.$
哈希byid
上
因此,要访问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.$
哈希byid
上
因此,要访问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)必须在它自己的模板标记中,谢谢你向我指出这不是真的。