Browse Source

Clean properly viewLayer from the component (#6021)

Clean properly viewLayer from the component.
Fixes the bug where the layer manager breaks when alternating between pages.
pull/6037/head
Artur Arseniev 2 years ago
committed by GitHub
parent
commit
866555594a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      src/navigator/view/ItemView.ts
  2. 2
      src/pages/index.ts

2
src/navigator/view/ItemView.ts

@ -159,7 +159,6 @@ export default class ItemView extends View {
].forEach(item => this.listenTo(model, item[0], item[1]));
this.$el.data('model', model);
this.$el.data('collection', components);
// @ts-ignore
model.viewLayer = this;
onInit.bind(this)({
component: model,
@ -396,6 +395,7 @@ export default class ItemView extends View {
remove(...args: []) {
View.prototype.remove.apply(this, args);
delete this.model.viewLayer;
this.__clearItems();
return this;
}

2
src/pages/index.ts

@ -101,7 +101,7 @@ export default class PageManager extends ItemManagerModule<PageManagerConfig, Pa
const { em, events } = this;
const lm = em.Layers;
const mainComp = page.getMainComponent();
lm && mainComp && lm.setRoot(mainComp as any);
lm && mainComp && lm.setRoot(mainComp);
em.trigger(events.select, page, m.previous('selected'));
this.__onChange(chnSel, page, opts);
}

Loading…
Cancel
Save