0

KineticJS を使用していますが、ステージ上のレイヤーにある 2 つのコンポーネント (Kinetic.Image インスタンスと Kinetic.Text インスタンス) を削除しようとすると、コードを try catch ブロックに入れても、キャッチされない typerror が発生します。 .

エラーの原因は何ですか?

これは関連するコードです

var arr = myStage.getChildren()[1].get(".sceneComponents");

for (var i =0; i<arr.length; i++)
{
    try
    {
        //arr[i].setVisible(false);   // Setting its visibility to false works absolutely fine
        arr[i].remove();  //Trying to remove like this throws the uncaught error
    }
    catch(ex)
    {
        console.log(ex);
    }
}

これは完全なエラー ログです。

Uncaught TypeError: Cannot call method 'getLayer' of undefined kinetic.js:37
Kinetic.Node.getLayer kinetic.js:37
Kinetic.Shape.drawHit kinetic.js:42
Kinetic.Container.drawHit kinetic.js:41
Kinetic.Layer.drawHit kinetic.js:44
Kinetic.Container.drawHit kinetic.js:41
Kinetic.Container.draw kinetic.js:41
tick mainScript.js:221 //This is refering to the myStage.draw() line in my code

アップデート:

これを使用してコンポーネントを削除すると-

layer.arr[i].remove();

同じ行に次のエラーが表示されます

TypeError: Cannot read property '0' of undefined
4

1 に答える 1