javascript - polymer 复位性能

标签 javascript polymer polymer-1.0

我在 polymer 中使用 [[]] 绑定(bind)。他们是一种获取第一个对象的方法/函数,因为它是渲染的?

我的问题是我更改了元素中的对象,然后我想将元素重置为内部更改之前的状态。 我想深入复制对象,但随后对象上的 polymer 功能出现问题。

<custom-elem item=[[item]]></custom-elem>

原创

item={a:123,b:234}

在自定义元素中,我将 item 的值更改为

{a:241,b:382}

如何在自定义元素中获取原始项目?

谢谢。

最佳答案

我可以想到两种解决方案

  1. 赋值如下

    <custom-elem item-orginal=[[item]] item=[[item]]></custom-elem>
    

在您的自定义元素中,当您想要重置该项目时,调用一个将重置该值的函数。

resetItem: function() {
  this.item = this.itemOriginal
}
  1. 在您的自定义元素中,只要您想重置值,就会触发自定义事件,如下所示。

    resetItem: function() {
      this.fire('custom-item-reset')
    }
    

在主机中,监听此事件并重置项目值。

<custom-elem id="customElem" item=[[item]] on-custom-item-reset="resetCustomItem"></custom-elem>

resetCustomItem: function() {
  this.$.customElem.item = this.item;
}

编辑:代码格式不清晰。所以做了一些修改。

关于javascript - polymer 复位性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172579/

相关文章:

javascript - 拖动时获取鼠标位置(JS + HTML5)

javascript - 是否可以从网页内部使用 Chrome 远程调试协议(protocol)?

javascript - 将 svg 安装到 angular.js 中的背景图像 div

javascript - 在 Chrome 中点击时 polymer 纸对话框不显示

javascript - polymer 1.5/iOS : How to stop event propagation over iron-pages

javascript - 如何将 JavaScript 对象扁平化为类似菊花链的形式?

javascript - 在 polymer 中声明事件

dart - 核心抽屉面板抽屉是透明的

javascript - 如何选择显示哪个模板?

javascript - 计算 dom-repeat 内的子节点数量