ナビゲーションビューがあります。ボタンをクリックすると、次の関数を呼び出して、別のビューをこのナビゲーション ビューにプッシュしようとしています。
showNewView: function () {
Ext.Viewport.getActiveItem().push({
title: 'New View',
xtype: 'newview'
});
このnewviewの ID はsome_idです。
この関数を複数回呼び出すと、次の警告が表示されます。
[WARN][Ext.Component#constructor] Registering a component with a id (`some_id`)
which has already been used. Please ensure the existing component has been
destroyed (`Ext.Component#destroy()`.
関数が 2 回目に呼び出されたときに、同じidでnewviewが作成されているため、この警告が表示されることを理解しています。また、idは一意である必要があります。したがって、警告。
また、 idの代わりに、その特定のコンポーネントを参照する目的に役立つitemIdを使用できることも知っています。
私が知りたいのは、idを使用し続ける場合、警告で説明されているように既存のコンポーネントをどのように破棄するのですか??
そもそも作成方法が間違っているのでしょうか? Ext.Viewport.getActiveItem().push({ title: 'New View', xtype: 'newview' });
または、上記は問題なく、ある時点でコンポーネントを破棄する必要がありますか? たぶんポップイベント中?もしそうなら、どのように?