Polymer - cloneNode 包括 __data

Polymer - cloneNode including __data

我正在使用库 dragula 来做一些拖放操作。

Dragula 在内部使用 cloneNode(true) 创建被拖动元素的副本,该副本将附加到主体以在拖动时显示预览图像。

不幸的是,如果拖动聚合物元素,则不会克隆绑定的数据。因此,被拖动元素的内容(例如 <div>[[someString]]</div>)为空。

有解决办法吗?

我其实不需要为我的元素绑定数据,它只是一个"read-only"元素显示一些初始化后不会改变的数据。有没有办法以某种方式 "resolve" html 的字符串不再被绑定?

已经谢谢你了!

自己找到了解决办法。您必须覆盖聚合物 class:

中的 cloneNode 方法
cloneNode(deep) {
  let cloned = super.cloneNode(deep);
  for (let prop in MyClass.properties) {
    cloned[prop] = this[prop];
  }
  return cloned;
}