この質問は、私が以前にここで尋ねた質問に関連しています。現在、KineticJS 4.0.5を使用しており、複数のレイヤーを使用して、さまざまなプロパティを持ついくつかの形状を表示しています。レイヤーのコンテンツを頻繁に変更する必要があるため、removeChildrenを使用してレイヤーのコンテンツを削除していますが、removeChildrenは子に関連付けられたイベントも削除するようです。レイヤーの子を再度レイヤーに追加する必要がある場合があるため、イベントを削除せずにレイヤーの子を削除したいと思います。
removeChildren関数を使用する代わりに、layer.childrens属性を空の配列と等しく設定しようとしました。最初はうまくいったように見えましたが、場合によっては、いくつかの奇妙なことが起こります:/いくつかの形状が消え、それらを元に戻す唯一の方法は、Zインデックスを設定することです。このアプローチの主な問題は、コンテンツがレイヤーから削除されたときにリセットする必要があるいくつかのプロパティに関連していると思いますが、それらがどれであるかはわかりません。
また、描画する前に各図形にイベントを再度設定しようとしましたが、機能しません...画面上で静的なままです...イベントは、描画する前にすべての図形でsetDraggable(true)を使用しようとしましたが、運...以前に使用した形状でレイヤーを再描画するたびに、オブジェクトを再度作成してイベントを再度適用する必要がありますか?または、アプリケーションの各画面のレイヤーを保存するのは良いアプローチですか?(私は多くの異なる画面を持つことができ、その結果、多くのレイヤーが作成され、一度に1つしか表示されません...)
この問題の解決策を知っているなら、教えてください。私のプロジェクトが描画および再描画できることが非常に重要であるため、この問題を解決する必要があります:/
ありがとうございました!