Skip to content

Commit 164d3f0

Browse files
authored
Merge pull request jbaysolutions#285 from aiankile/master
Memory leak fixes jbaysolutions#284
2 parents 67788f0 + 86f31a9 commit 164d3f0

File tree

1 file changed

+5
-25
lines changed

1 file changed

+5
-25
lines changed

src/components/GridLayout.vue

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
self.dragEvent(eventType, i, x, y, h, w);
129129
};
130130
131-
self._provided.eventBus = new Vue();
131+
self._provided.eventBus = new Vue();
132132
self.eventBus = self._provided.eventBus;
133133
self.eventBus.$on('resizeEvent', self.resizeEventHandler);
134134
self.eventBus.$on('dragEvent', self.dragEventHandler);
@@ -137,7 +137,9 @@
137137
//Remove listeners
138138
this.eventBus.$off('resizeEvent', this.resizeEventHandler);
139139
this.eventBus.$off('dragEvent', this.dragEventHandler);
140+
this.eventBus.$destroy();
140141
removeWindowEventListener("resize", this.onWindowResize);
142+
this.erd.uninstall(this.$refs.item);
141143
},
142144
mounted: function() {
143145
this.$nextTick(function () {
@@ -158,16 +160,14 @@
158160
159161
self.updateHeight();
160162
self.$nextTick(function () {
161-
const erd = elementResizeDetectorMaker({
163+
this.erd = elementResizeDetectorMaker({
162164
strategy: "scroll" //<- For ultra performance.
163165
});
164-
erd.listenTo(self.$refs.item, function () {
166+
this.erd.listenTo(self.$refs.item, function () {
165167
self.onWindowResize();
166168
});
167169
});
168170
});
169-
170-
addWindowEventListener("load", self.onWindowLoad.bind(this));
171171
});
172172
},
173173
watch: {
@@ -202,26 +202,6 @@
202202
}
203203
},
204204
methods: {
205-
onWindowLoad: function(){
206-
const self = this;
207-
208-
if (self.width === null) {
209-
self.onWindowResize();
210-
//self.width = self.$el.offsetWidth;
211-
addWindowEventListener('resize', self.onWindowResize);
212-
}
213-
compact(self.layout, self.verticalCompact);
214-
215-
self.updateHeight();
216-
self.$nextTick(function () {
217-
const erd = elementResizeDetectorMaker({
218-
strategy: "scroll" //<- For ultra performance.
219-
});
220-
erd.listenTo(self.$refs.item, function () {
221-
self.onWindowResize();
222-
});
223-
});
224-
},
225205
layoutUpdate() {
226206
if (this.layout !== undefined) {
227207
if (this.layout.length !== this.originalLayout.length) {

0 commit comments

Comments
 (0)