提交 d71b0941 编写于 作者: Q qiang

Merge branch 'dev' of github.com:dcloudio/uni-app into dev

......@@ -1130,7 +1130,7 @@ function handleLink (event) {
vueOptions.parent = parentVm;
}
const mocks$1 = ['nodeId'];
const mocks$1 = ['nodeId', 'componentName'];
function isPage$1 () {
return !this.ownerId
......
{
"name": "@dcloudio/uni-mp-baidu",
"version": "0.0.844",
"version": "0.0.845",
"description": "uni-app mp-baidu",
"main": "dist/index.js",
"scripts": {
......
......@@ -16,6 +16,10 @@ import {
createPageMixin
} from './page'
import {
lifecycleMixin
} from './lifecycle'
import {
getTabBarScrollPosition
} from './app/router-guard'
......@@ -55,7 +59,9 @@ function getLocation (base = '/') {
export default {
install (Vue, {
routes
} = {}) {
} = {}) {
lifecycleMixin(Vue)
const minId = getMinId(routes)
const router = new VueRouter({
id: minId,
......
/* @flow */
const LIFECYCLE_HOOKS = [
// App
'onLaunch',
'onShow',
'onHide',
'onUniNViewMessage',
'onError',
// Page
'onLoad',
// 'onShow',
'onReady',
// 'onHide',
'onUnload',
'onPullDownRefresh',
'onReachBottom',
'onTabItemTap',
'onShareAppMessage',
'onResize',
'onPageScroll',
'onNavigationBarButtonTap',
'onBackPress',
'onNavigationBarSearchInputChanged',
'onNavigationBarSearchInputConfirmed',
'onNavigationBarSearchInputClicked',
// Component
// 'onReady', // 兼容旧版本,应该移除该事件
'onPageShow',
'onPageHide',
'onPageResize'
]
export function lifecycleMixin (Vue) {
// fixed vue-class-component
const oldExtend = Vue.extend
Vue.extend = function (extendOptions) {
extendOptions = extendOptions || {}
const methods = extendOptions.methods
if (methods) {
Object.keys(methods).forEach(methodName => {
if (LIFECYCLE_HOOKS.indexOf(methodName) !== -1) {
extendOptions[methodName] = methods[methodName]
delete methods[methodName]
}
})
}
return oldExtend.call(this, extendOptions)
}
const strategies = Vue.config.optionMergeStrategies
const mergeHook = strategies.created
LIFECYCLE_HOOKS.forEach(hook => {
strategies[hook] = mergeHook
})
}
import {
isFn
} from 'uni-shared'
function callHook (vm, hook, params) {
return isFn(vm.$options[hook]) && vm.$options[hook].apply(vm, params)
return vm.__call_hook(hook, params)
}
export function callAppHook (vm, hook, ...params) {
......@@ -20,12 +16,12 @@ export function callPageHook (vm, hook, ...params) {
vm.$mp.query = params[0]
UniServiceJSBridge.publishHandler('onPageLoad', vm, vm.$page.id)
}
if (hook === 'onShow') {
if (
vm.$route.meta.isTabBar &&
vm.$route.params.detail
) {
UniServiceJSBridge.emit('onTabItemTap', vm.$route.params.detail)
if (hook === 'onShow') {
if (
vm.$route.meta.isTabBar &&
vm.$route.params.detail
) {
UniServiceJSBridge.emit('onTabItemTap', vm.$route.params.detail)
}
UniServiceJSBridge.publishHandler('onPageShow', vm, vm.$page.id)
}
......@@ -34,4 +30,4 @@ export function callPageHook (vm, hook, ...params) {
console.debug(`${vm.$page.route}[${vm.$page.id}]:${hook} have been invoked`)
}
return callHook(vm, hook, params)
}
}
export const mocks = ['nodeId']
export const mocks = ['nodeId', 'componentName']
export function isPage () {
return !this.ownerId
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册