Javascript 如何在绑定之前修改/过滤响应?

Javascript 如何在绑定之前修改/过滤响应?,javascript,ajax,polymer,polymer-1.0,javascript-databinding,Javascript,Ajax,Polymer,Polymer 1.0,Javascript Databinding,如何在绑定之前修改/过滤响应 代码方面是这样的: <iron-ajax url="{{seturl}}" last-response="{{carts}}" auto on-response="handleResponse"></iron-ajax> <paper-drawer-panel id="paperDrawerPanel"> <paper-scroll-header-panel drawer fixed>

如何在绑定之前修改/过滤响应

代码方面是这样的:

    <iron-ajax url="{{seturl}}" last-response="{{carts}}" auto on-response="handleResponse"></iron-ajax>

    <paper-drawer-panel id="paperDrawerPanel">
       <paper-scroll-header-panel drawer fixed>
           <paper-header-panel>
              <cart-list carts="{{carts.values}}" selected-cart="{{selectedCart}}"></cart-list>
           </paper-header-panel>
       </paper-scroll-header-panel>
    </paper-drawer-panel>

因此,当我将{{carts.value}传递给自定义元素
时,我需要它从响应中过滤一些项目,基本上carts返回了太多的数据,所以我想在将carts绑定传递到
之前过滤掉一些数据


任何帮助都将不胜感激。提前感谢。

您可以完全删除lastRespone部分,并使用on response功能进行过滤。因此,在on-respond函数中,您将删除所有垃圾,最后说
this.carts=filteredObjectAsArray


这在性能方面可能是有益的,因为我假设
cart list
具有
Dom repeat
。如果将过滤后的数组传递给它,则它不必将所有这些项都标记到DOM,只需标记相关项

您可以完全删除lastRespone部分,并让on-response函数进行过滤。因此,在on-respond函数中,您将删除所有垃圾,最后说
this.carts=filteredObjectAsArray


这在性能方面可能是有益的,因为我假设
cart list
具有
Dom repeat
。如果将过滤后的数组传递给它,则它不必将所有这些项都标记到DOM,只需标记相关项

carts是数组还是对象<代码>购物车。值表示对象,但筛选表示数组。不管怎样,有一些关于过滤的问题。您可以为购物车设置一个观察者,在购物车发生变化时对购物车进行过滤。购物车是数组还是对象<代码>购物车。值表示对象,但筛选表示数组。不管怎样,有一些关于过滤的问题。您可以为Cart设置一个观察者,在Cart发生更改时对Cart进行过滤。您还可以将它们全部传递到
dom repeat
模板,并在那里分配一个过滤器。如果它们与过滤器不匹配,我假设它也不会将它们剔除。如果Cart也在页面的其他地方使用,那么在模板中进行过滤可能会更好,因此所有初始Cart都需要维护。是的,这也是正确的。我记得读过一篇文章,说过滤器会在DOM上打上标记,然后隐藏不必要的东西。如果筛选条件更改,隐藏/显示比销毁/重新创建更快。因此,如果这是一个要求,那么它可能是更好的方法。您还可以将它们全部传递到
dom repeat
模板,并在那里分配一个过滤器。如果它们与过滤器不匹配,我假设它也不会将它们剔除。如果Cart也在页面的其他地方使用,那么在模板中进行过滤可能会更好,因此所有初始Cart都需要维护。是的,这也是正确的。我记得读过一篇文章,说过滤器会在DOM上打上标记,然后隐藏不必要的东西。如果筛选条件更改,隐藏/显示比销毁/重新创建更快。因此,如果这是一项要求,它可能是更好的方法。