提交 2d4d0132 编写于 作者: fxy060608's avatar fxy060608

feat(app): add onLoad,onShow

上级 ebb9672c
......@@ -25,12 +25,12 @@
"@dcloudio/uni-cli-shared": "../../uni-cli-shared",
"@dcloudio/uni-h5-vite": "../../uni-h5-vite",
"@dcloudio/vite-plugin-uni": "../../vite-plugin-uni",
"@vitejs/plugin-vue": "^1.2.4",
"@vitejs/plugin-vue": "^1.2.5",
"@vue/compiler-sfc": "^3.1.4",
"@vue/server-renderer": "^3.1.4",
"compression": "^1.7.4",
"cypress": "^7.3.0",
"serve-static": "^1.14.1",
"vite": "^2.4.1"
"vite": "^2.4.2"
}
}
......@@ -55,10 +55,10 @@
lodash.once "^4.1.1"
"@dcloudio/uni-app@../../uni-app":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/uni-cli-shared@../../uni-cli-shared":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
dependencies:
"@rollup/pluginutils" "^4.1.0"
compare-versions "^3.6.0"
......@@ -72,19 +72,19 @@
xregexp "3.1.0"
"@dcloudio/uni-cloud@../../uni-cloud":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/uni-components@../../uni-components":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/uni-h5-vite@../../uni-h5-vite":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/uni-h5-vue@../../uni-h5-vue":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/uni-h5@../../uni-h5":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
dependencies:
localstorage-polyfill "^1.0.1"
pako "^2.0.3"
......@@ -92,13 +92,13 @@
xmlhttprequest "^1.8.0"
"@dcloudio/uni-i18n@../../uni-i18n":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/uni-shared@../../uni-shared":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
"@dcloudio/vite-plugin-uni@../../vite-plugin-uni":
version "3.0.0-alpha-3000020210618002"
version "3.0.0-alpha-3000020210708001"
dependencies:
"@rollup/pluginutils" "^4.1.0"
autoprefixer "^10.2.5"
......@@ -127,17 +127,17 @@
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
"@nodelib/fs.walk@^1.2.3":
version "1.2.7"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2"
integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==
version "1.2.8"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
dependencies:
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@rollup/pluginutils@^4.1.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838"
integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==
version "4.1.1"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec"
integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==
dependencies:
estree-walker "^2.0.1"
picomatch "^2.2.2"
......@@ -168,9 +168,9 @@
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
"@types/node@*":
version "16.0.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.1.tgz#70cedfda26af7a2ca073fdcc9beb2fff4aa693f8"
integrity sha512-hBOx4SUlEPKwRi6PrXuTGw1z6lz0fjsibcWCM378YxsSu/6+C30L6CR49zIBKHiwNWCYIcOLjg4OHKZaFeLAug==
version "16.3.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.2.tgz#655432817f83b51ac869c2d51dd8305fb8342e16"
integrity sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==
"@types/node@^14.14.31":
version "14.17.5"
......@@ -194,10 +194,10 @@
dependencies:
"@types/node" "*"
"@vitejs/plugin-vue@^1.2.4":
version "1.2.4"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-1.2.4.tgz#a7aa6e6a31c556a8b781de730316deeecf7f56f2"
integrity sha512-D/3H9plevPQGgQGwmV6eecvOnooLTecPR63HPffVVWPEhbfvmtYLWgznzs456NBb2DItiRTCIa1yWxvGqC+I8A==
"@vitejs/plugin-vue@^1.2.5":
version "1.2.5"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-1.2.5.tgz#ef7dc4a92e53fe866b54bcc1266788513262ac09"
integrity sha512-GIR31mdXTEfvElmBUaRhDc5v7lfdkEdawWQqJRiaRL/5qKsH+xusukglkvJz5y7+c6dEpxgmvcATv2BbB7+fzQ==
"@vue/compiler-core@3.1.4":
version "3.1.4"
......@@ -389,12 +389,12 @@ at-least-node@^1.0.0:
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
autoprefixer@^10.2.5:
version "10.2.6"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.6.tgz#aadd9ec34e1c98d403e01950038049f0eb252949"
integrity sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg==
version "10.3.1"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.3.1.tgz#954214821d3aa06692406c6a0a9e9d401eafbed2"
integrity sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==
dependencies:
browserslist "^4.16.6"
caniuse-lite "^1.0.30001230"
caniuse-lite "^1.0.30001243"
colorette "^1.2.2"
fraction.js "^4.1.1"
normalize-range "^0.1.2"
......@@ -504,10 +504,10 @@ cachedir@^2.3.0:
resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8"
integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==
caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001230:
version "1.0.30001243"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz#d9250155c91e872186671c523f3ae50cfc94a3aa"
integrity sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==
caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001243:
version "1.0.30001245"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz#45b941bbd833cb0fa53861ff2bae746b3c6ca5d4"
integrity sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==
caseless@~0.12.0:
version "0.12.0"
......@@ -800,9 +800,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.723:
version "1.3.770"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.770.tgz#a9e705a73315f4900880622b3ab76cf1d7221b77"
integrity sha512-Kyh8DGK1KfEZuYKIHvuOmrKotsKZQ+qBkDIWHciE3QoFkxXB1KzPP+tfLilSHAfxTON0yYMnFCWkQtUOR7g6KQ==
version "1.3.778"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.778.tgz#bf01048736c95b78f2988e88005e0ebb385942a4"
integrity sha512-Lw04qJaPtWdq0d7qKHJTgkam+FhFi3hm/scf1EyqJWdjO3ZIGUJhNmZJRXWb7yb/bRYXQyVGSpa9RqVpjjWMQw==
emoji-regex@^8.0.0:
version "8.0.0"
......@@ -958,9 +958,9 @@ fast-deep-equal@^3.1.1:
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.0.3:
version "3.2.6"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.6.tgz#434dd9529845176ea049acc9343e8282765c6e1a"
integrity sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==
version "3.2.7"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
......@@ -1279,9 +1279,9 @@ is-ci@^3.0.0:
ci-info "^3.1.1"
is-core-module@^2.2.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
version "2.5.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491"
integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==
dependencies:
has "^1.0.3"
......@@ -1913,9 +1913,9 @@ rollup-plugin-copy@^3.4.0:
is-plain-object "^3.0.0"
rollup@^2.38.5:
version "2.52.8"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.52.8.tgz#b6462f9c16ffe8995b9a2b313f2e4247fa75e4d9"
integrity sha512-IjAB0C6KK5/lvqzJWAzsvOik+jV5Bt907QdkQ/gDP4j+R9KYNI1tjqdxiPitGPVrWC21Mf/ucXgowUjN/VemaQ==
version "2.53.2"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.53.2.tgz#3279f9bfba1fe446585560802e418c5fbcaefa51"
integrity sha512-1CtEYuS5CRCzFZ7SNW5528SlDlk4VDXIRGwbm/2POQxA/G4+7/crIqJwkmnj8Q/74hGx4oVlNvh4E1CJQ5hZ6w==
optionalDependencies:
fsevents "~2.3.2"
......@@ -2243,10 +2243,10 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
vite@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/vite/-/vite-2.4.1.tgz#2e48b8dbfc69e4edbf7f4d1c0798d621585cb8da"
integrity sha512-4BpKRis9uxIqPfIEcJ18LTBsamqnDFxTx45CXwagHjNltHa6PFEvf8Pe6OpgIHb0OyWT30OXOSSQvdOaX4OBiQ==
vite@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/vite/-/vite-2.4.2.tgz#07d00615775c808530bc9f65641062b349b67929"
integrity sha512-2MifxD2I9fjyDmmEzbULOo3kOUoqX90A58cT6mECxoVQlMYFuijZsPQBuA14mqSwvV3ydUsqnq+BRWXyO9Qa+w==
dependencies:
esbuild "^0.12.8"
postcss "^8.3.5"
......
......@@ -8,6 +8,7 @@ declare module '@vue/runtime-core' {
// 目前 H5,APP 平台 getCurrentPages 中获取的 page 对象调整为 vm 对象
$getAppWebview?: () => PlusWebviewWebviewObject
$page: Page.PageInstance['$page']
$mpType?: 'app' | 'page'
__isTabBar: boolean
}
......
......@@ -1795,6 +1795,16 @@ var serviceContext = (function (vue) {
function initService() {
initOn();
initSubscribe();
}
function initAppVm(appVm) {
appVm.$vm = appVm;
appVm.$mpType = 'app';
}
function initPageVm(pageVm, page) {
pageVm.$vm = pageVm;
pageVm.$page = page;
pageVm.$mpType = 'page';
pageVm.__isTabBar = page.meta.isTabBar;
}
function querySelector(vm, selector) {
......@@ -7788,6 +7798,10 @@ var serviceContext = (function (vue) {
}, RequestPaymentProtocol);
function applyOptions(options, instance, publicThis) {
if (!publicThis.$mpType) {
// 仅 App,Page 类型支持 on 生命周期
return;
}
Object.keys(options).forEach((name) => {
if (name.indexOf('on') === 0) {
const hook = options[name];
......@@ -7796,6 +7810,10 @@ var serviceContext = (function (vue) {
}
}
});
if (publicThis.$mpType === 'page') {
invokeHook(publicThis, 'onLoad', instance.attrs.__pageQuery);
invokeHook(publicThis, 'onShow');
}
}
function set(target, key, val) {
......@@ -8544,7 +8562,7 @@ var serviceContext = (function (vue) {
console.log(formatLog('registerApp'));
}
appCtx = appVm;
appCtx.$vm = appVm;
initAppVm(appCtx);
extend(appCtx, defaultApp); // 拷贝默认实现
const { $options } = appVm;
if ($options) {
......@@ -9352,8 +9370,7 @@ var serviceContext = (function (vue) {
}
const instance = vue.getCurrentInstance();
const pageVm = instance.proxy;
pageVm.$page = __pageInstance;
pageVm.$vm = pageVm;
initPageVm(pageVm, __pageInstance);
addCurrentPage(initScope(__pageId, pageVm));
invokeHook(pageVm, 'onLoad', __pageQuery);
invokeHook(pageVm, 'onShow');
......
import { ComponentPublicInstance } from 'vue'
import { extend } from '@vue/shared'
import { formatLog } from '@dcloudio/uni-shared'
import { initService } from '@dcloudio/uni-core'
import { initAppVm, initService } from '@dcloudio/uni-core'
import { initEntry } from './initEntry'
import { initTabBar } from './initTabBar'
......@@ -34,7 +34,7 @@ export function registerApp(appVm: ComponentPublicInstance) {
console.log(formatLog('registerApp'))
}
appCtx = appVm
appCtx.$vm = appVm
initAppVm(appCtx)
extend(appCtx, defaultApp) // 拷贝默认实现
......
import { invokeHook } from '@dcloudio/uni-core'
import { initPageVm, invokeHook } from '@dcloudio/uni-core'
import { formatLog } from '@dcloudio/uni-shared'
import {
ComponentPublicInstance,
......@@ -21,8 +21,7 @@ export function setupPage(component: VuePageComponent) {
}
const instance = getCurrentInstance()!
const pageVm = instance.proxy!
pageVm.$page = __pageInstance as Page.PageInstance['$page']
pageVm.$vm = pageVm
initPageVm(pageVm, __pageInstance as Page.PageInstance['$page'])
addCurrentPage(initScope(__pageId as number, pageVm))
invokeHook(pageVm, 'onLoad', __pageQuery)
invokeHook(pageVm, 'onShow')
......
export { ServiceJSBridge } from './bridge'
export { initService } from './init'
export { initService, initAppVm, initPageVm } from './init'
export { initServicePlugin } from './plugin'
import { ComponentPublicInstance } from 'vue'
import { initOn } from './on'
import { initSubscribe } from './subscribe'
......@@ -8,3 +9,18 @@ export function initService() {
initOn()
initSubscribe()
}
export function initAppVm(appVm: ComponentPublicInstance) {
appVm.$vm = appVm
appVm.$mpType = 'app'
}
export function initPageVm(
pageVm: ComponentPublicInstance,
page: Page.PageInstance['$page']
) {
pageVm.$vm = pageVm
pageVm.$page = page
pageVm.$mpType = 'page'
pageVm.__isTabBar = page.meta.isTabBar!
}
......@@ -603,6 +603,16 @@ const ServiceJSBridge = /* @__PURE__ */ shared.extend(initBridge("view"), {
return UniServiceJSBridge.emit("api." + name, res);
}
});
function initAppVm(appVm2) {
appVm2.$vm = appVm2;
appVm2.$mpType = "app";
}
function initPageVm(pageVm, page) {
pageVm.$vm = pageVm;
pageVm.$page = page;
pageVm.$mpType = "page";
pageVm.__isTabBar = page.meta.isTabBar;
}
function converPx(value) {
if (/^-?\d+[ur]px$/i.test(value)) {
return value.replace(/(^-?\d+)[ur]px$/i, (text, num) => {
......@@ -6543,6 +6553,9 @@ function useContextInfo(_id) {
return `${page}.${type}.${id}`;
}
function applyOptions(options, instance, publicThis) {
if (!publicThis.$mpType) {
return;
}
Object.keys(options).forEach((name) => {
if (name.indexOf("on") === 0) {
const hook = options[name];
......@@ -6691,9 +6704,7 @@ function initPublicPage(route) {
function initPage(vm) {
const route = vm.$route;
const page = initPublicPage(route);
vm.$vm = vm;
vm.$page = page;
vm.__isTabBar = page.meta.isTabBar;
initPageVm(vm, page);
currentPagesMap.set(normalizeRouteKey(page.path, page.id), vm);
}
function normalizeRouteKey(path, id2) {
......@@ -6790,7 +6801,7 @@ function getApp$1() {
}
function initApp(vm) {
appVm = vm;
appVm.$vm = vm;
initAppVm(appVm);
appVm.globalData = appVm.$options.globalData || {};
}
function wrapperComponentSetup(comp, { init, setup, before }) {
......
......@@ -1373,6 +1373,16 @@ function initService() {
initOn();
initSubscribe();
}
function initAppVm(appVm2) {
appVm2.$vm = appVm2;
appVm2.$mpType = "app";
}
function initPageVm(pageVm, page) {
pageVm.$vm = pageVm;
pageVm.$page = page;
pageVm.$mpType = "page";
pageVm.__isTabBar = page.meta.isTabBar;
}
function querySelector(vm, selector) {
const el = vm.$el.querySelector(selector);
return el && el.__vue__;
......@@ -13039,6 +13049,9 @@ function getContextInfo(el) {
return el.__uniContextInfo;
}
function applyOptions(options, instance2, publicThis) {
if (!publicThis.$mpType) {
return;
}
Object.keys(options).forEach((name) => {
if (name.indexOf("on") === 0) {
const hook = options[name];
......@@ -13264,9 +13277,7 @@ function initPublicPage(route) {
function initPage(vm) {
const route = vm.$route;
const page = initPublicPage(route);
vm.$vm = vm;
vm.$page = page;
vm.__isTabBar = page.meta.isTabBar;
initPageVm(vm, page);
currentPagesMap.set(normalizeRouteKey(page.path, page.id), vm);
}
function normalizeRouteKey(path, id2) {
......@@ -13455,7 +13466,7 @@ function getApp$1() {
}
function initApp(vm) {
appVm = vm;
appVm.$vm = vm;
initAppVm(appVm);
appVm.globalData = appVm.$options.globalData || {};
initService();
initView();
......
import { ComponentPublicInstance } from 'vue'
import { initService, initView } from '@dcloudio/uni-core'
import { initAppVm, initService, initView } from '@dcloudio/uni-core'
let appVm: ComponentPublicInstance
......@@ -9,7 +9,7 @@ export function getApp() {
export function initApp(vm: ComponentPublicInstance) {
appVm = vm
appVm.$vm = vm
initAppVm(appVm)
appVm.globalData = appVm.$options.globalData || {}
initService()
initView()
......
......@@ -13,6 +13,7 @@ import {
createScrollListener,
CreateScrollListenerOptions,
initPageInternalInstance,
initPageVm,
} from '@dcloudio/uni-core'
import { ON_REACH_BOTTOM_DISTANCE } from '@dcloudio/uni-shared'
import { usePageMeta } from './provide'
......@@ -88,9 +89,7 @@ function initPublicPage(route: RouteLocationNormalizedLoaded) {
export function initPage(vm: ComponentPublicInstance) {
const route = vm.$route
const page = initPublicPage(route)
;(vm as any).$vm = vm
;(vm as any).$page = page
vm.__isTabBar = page.meta.isTabBar!
initPageVm(vm, page)
currentPagesMap.set(normalizeRouteKey(page.path, page.id), vm)
}
......
import { invokeHook } from '@dcloudio/uni-core'
import { isFunction } from '@vue/shared'
import {
......@@ -13,6 +14,10 @@ export function applyOptions(
instance: ComponentInternalInstance,
publicThis: ComponentPublicInstance
) {
if (!publicThis.$mpType) {
// 仅 App,Page 类型支持 on 生命周期
return
}
Object.keys(options).forEach((name) => {
if (name.indexOf('on') === 0) {
const hook = options[name]
......@@ -21,4 +26,8 @@ export function applyOptions(
}
}
})
if (__PLATFORM__ === 'app' && publicThis.$mpType === 'page') {
invokeHook(publicThis, 'onLoad', instance.attrs.__pageQuery)
invokeHook(publicThis, 'onShow')
}
}
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册