我在 polymer 中使用 [[]] 绑定(bind)。他们是一种获取第一个对象的方法/函数,因为它是渲染的?
我的问题是我更改了元素中的对象,然后我想将元素重置为内部更改之前的状态。 我想深入复制对象,但随后对象上的 polymer 功能出现问题。
<custom-elem item=[[item]]></custom-elem>
原创
item={a:123,b:234}
在自定义元素中,我将 item 的值更改为
{a:241,b:382}
如何在自定义元素中获取原始项目?
谢谢。
最佳答案
我可以想到两种解决方案
赋值如下
<custom-elem item-orginal=[[item]] item=[[item]]></custom-elem>
在您的自定义元素中,当您想要重置该项目时,调用一个将重置该值的函数。
resetItem: function() {
this.item = this.itemOriginal
}
在您的自定义元素中,只要您想重置值,就会触发自定义事件,如下所示。
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/