From 943a341a4d9e134160073a7e1016e945351d9067 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 13 Oct 2018 21:37:37 +0200 Subject: [PATCH] Clean previous components view --- src/dom_components/model/Component.js | 1 - src/dom_components/view/ComponentView.js | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index aa23fca59..d0fbbf4a9 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -458,7 +458,6 @@ const Component = Backbone.Model.extend(Styleable).extend( comps.parent = this; const components = this.get('components'); const addChild = !this.opt.avoidChildren; - addChild && comps.reset(); this.set('components', comps); addChild && comps.add(components); this.listenTo(...toListen); diff --git a/src/dom_components/view/ComponentView.js b/src/dom_components/view/ComponentView.js index 506b679b2..203b300f7 100644 --- a/src/dom_components/view/ComponentView.js +++ b/src/dom_components/view/ComponentView.js @@ -65,12 +65,13 @@ module.exports = Backbone.View.extend({ }, initComponents(opts = {}) { - const { model, $el } = this; + const { model, $el, childrenView } = this; const event = 'change:components'; - const components = model.get('components'); + const comps = model.get('components'); - if (components instanceof Components) { - $el.data('collection', components); + if (comps instanceof Components) { + $el.data('collection', comps); + childrenView && childrenView.remove(); this.stopListening(model, event, this.initComponents); this.listenTo(model, event, this.initComponents); !opts.avoidRender && this.renderChildren();