From 6424a7450d2236fec5c83bb9bfb1c32645e3d7bf Mon Sep 17 00:00:00 2001 From: pieter-v Date: Fri, 3 Aug 2018 14:05:50 +0200 Subject: [PATCH 1/2] cleanup bindings if the proxy is destroyed --- packages/@ember/-internals/runtime/lib/mixins/-proxy.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/@ember/-internals/runtime/lib/mixins/-proxy.js b/packages/@ember/-internals/runtime/lib/mixins/-proxy.js index 6bd3a7ede3d..022d28e0e3a 100644 --- a/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +++ b/packages/@ember/-internals/runtime/lib/mixins/-proxy.js @@ -61,6 +61,11 @@ export default Mixin.create({ m.writableTag(() => combine([DirtyableTag.create(), UpdatableTag.create(CONSTANT_TAG)])); }, + destroy() { + this._super(...arguments); + this.set('content', null); + }, + isTruthy: computed('content', function() { return !!get(this, 'content'); }), From aca371cb177d504cf844fb81b7de70578e29e611 Mon Sep 17 00:00:00 2001 From: pieter-v Date: Mon, 13 Aug 2018 13:38:58 +0200 Subject: [PATCH 2/2] use willDestroy in stead of destroy --- packages/@ember/-internals/runtime/lib/mixins/-proxy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@ember/-internals/runtime/lib/mixins/-proxy.js b/packages/@ember/-internals/runtime/lib/mixins/-proxy.js index 022d28e0e3a..a51b4e52c3f 100644 --- a/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +++ b/packages/@ember/-internals/runtime/lib/mixins/-proxy.js @@ -61,9 +61,9 @@ export default Mixin.create({ m.writableTag(() => combine([DirtyableTag.create(), UpdatableTag.create(CONSTANT_TAG)])); }, - destroy() { - this._super(...arguments); + willDestroy() { this.set('content', null); + this._super(...arguments); }, isTruthy: computed('content', function() {