2016-04-06 6 views
0

Emberアプリケーションに以下のJSコードが呼び出されました。その後、配列内のJavascriptリセットオブジェクト

myPanels.accordionPanels = []; 
myPanels.accordionPanels.push({ 
    panel: { 
     name: "my-grid", 
     type: 'comp', 
     props: [{ 
      key: 'elementId', 
      value: "myCustomId" 
     }] 
    } 
}); 

あなたが見ることができるように、私はmyPanels.accordionPanelsを設定することにより、スタート= []たびに、物体を押してください。

しかし、私は次のエラーを得た

アサーションに失敗しました:すでに 使用中のidを持つビューを登録しようとしました。だから私は、オブジェクトが内部でないと仮定しています

をmyCustomIdリセットすると&は以前に作成された "myCustomId"を見つけることができます。

アレイ(またはその内部のオブジェクト)を正しくリセットしていますか?

+0

はember.jsの内部についてはあまりわからないが、あなたは、 'myPanels.accordionPanelsをすれば。長さ= 0; 'myPanels.accordionPanels = [];'ではなく、違いがありますか? – kazenorin

+0

'accordionPanels'がすでに配列の場合は、' .clear() 'を呼び出すことができます。 – locks

+0

myPanels.accordionPanels = []を実行しても、配列の内容がクリアされないのですか? – testndtv

答えて

1

私が使用して値をプッシュすることができますので:

accordionPanels = []; 
accordionPanels.push({ 
    panel: { 
     name: "my-grid", 
     type: 'comp', 
     props: [{ 
      key: 'elementId', 
      value: "myCustomId" 
     }] 
    } 
}); 

を確認myPanels.accordionPanelsは、それに関連するすべてのプロトタイプを持っていませんします。
としての価値を検査してください:あなたが使用して値を削除することができます

myPanels.accordionPanels = []; 
console.log(myPanels.accordionPanels); // see if it has values. 

delete myPanels.accordionPanels PROTOTYPE 
関連する問題