diff --git a/src/core/view/components/movable-area/index.vue b/src/core/view/components/movable-area/index.vue index de6679e4525332a1293a5b3f1f3386e6d55517e6..b5e463f909afc39ed3a52f8f7b8ebc7536542c9a 100644 --- a/src/core/view/components/movable-area/index.vue +++ b/src/core/view/components/movable-area/index.vue @@ -26,12 +26,15 @@ export default { this.pinchStartLen = null }, mounted: function () { - this._getWH() - this.items.forEach(function (item, index) { - item.componentInstance.setParent() - }) + this._resize() }, methods: { + _resize () { + this._getWH() + this.items.forEach(function (item, index) { + item.componentInstance.setParent() + }) + }, _find (target, items = this.items) { var root = this.$el function get (node) { @@ -143,11 +146,13 @@ export default { var ours = this[`_${event}`] $listeners[event] = existing ? [].concat(existing, ours) : ours }) - return createElement( - 'uni-movable-area', - { - on: $listeners - }, items) + return createElement('uni-movable-area', { + on: $listeners + }, [createElement('v-uni-resize-sensor', { + on: { + resize: this._resize + } + }), ...items]) } } diff --git a/src/core/view/components/movable-view/index.vue b/src/core/view/components/movable-view/index.vue index adc13fe775e6541fb2e536e941b720c5381b4bf3..bbb4c1857bc77c5f5a7dcfe69f028762974b9a80 100644 --- a/src/core/view/components/movable-view/index.vue +++ b/src/core/view/components/movable-view/index.vue @@ -1,5 +1,6 @@ @@ -216,9 +217,7 @@ export default { }, mounted: function () { this.touchtrack(this.$el, '_onTrack') - if (this.$parent._isMounted) { - this.setParent() - } + this.setParent() this._friction.reconfigure(1, this.frictionNumber) this._STD.reconfigure(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber) this.$el.style.transformOrigin = 'center' @@ -460,6 +459,9 @@ export default { } }, setParent: function () { + if (!this.$parent._isMounted) { + return + } if (this._FA) { this._FA.cancel() }