@mpxjs/core 2.9.33 → 2.9.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mpxjs/core",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.35",
|
|
4
4
|
"description": "mpx runtime core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"miniprogram",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"url": "https://github.com/didi/mpx/issues"
|
|
48
48
|
},
|
|
49
49
|
"sideEffects": false,
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "eb9647625e82c7dc7058fa35f5d1fe2233d40142"
|
|
51
51
|
}
|
|
@@ -94,9 +94,26 @@ export default function getRefsMixin () {
|
|
|
94
94
|
|
|
95
95
|
Object.assign(refsMixin.methods, {
|
|
96
96
|
_createSelectorQuery (...args) {
|
|
97
|
-
|
|
97
|
+
let selectorQuery = this._originCreateSelectorQuery(...args)
|
|
98
98
|
const cbs = []
|
|
99
99
|
|
|
100
|
+
if (typeof selectorQuery === 'undefined') {
|
|
101
|
+
// 兜底 selectorQuery 在ali为 undefined 情况
|
|
102
|
+
// 调用 createSelectorQuery时,组件实例已经被销毁,ali this._originCreateSelectorQuery 返回 undefined。导致后续 selectorQuery[name] 报错
|
|
103
|
+
// 方案:对齐微信,微信实例销毁时,其他调用正常,仅 createSelectorQuery.exec 不执行回调
|
|
104
|
+
// 复现:setTimeout 中调用,倒计时未回调时切换页面
|
|
105
|
+
selectorQuery = {}
|
|
106
|
+
// ['boundingClientRect', 'context', 'exec', 'fields', 'in', 'node', 'scrollOffset', 'select', 'selectAll', 'selectViewport', 'toImage']
|
|
107
|
+
const backupMethodKeys = Object.keys(envObj.createSelectorQuery())
|
|
108
|
+
const backupFn = function () {
|
|
109
|
+
return selectorQuery
|
|
110
|
+
}
|
|
111
|
+
backupMethodKeys.forEach(key => {
|
|
112
|
+
selectorQuery[key] = backupFn
|
|
113
|
+
})
|
|
114
|
+
return selectorQuery
|
|
115
|
+
}
|
|
116
|
+
|
|
100
117
|
proxyMethods.forEach((name) => {
|
|
101
118
|
const originalMethod = selectorQuery[name]
|
|
102
119
|
selectorQuery[name] = function (cb = noop) {
|