提交 710d4cfd 编写于 作者: Q qiang

feat(mp): mp-baidu onInit close #2197

上级 6f66a82b
import {
hasOwn
hasOwn,
noop
} from 'uni-shared'
import {
......@@ -24,10 +25,17 @@ export default function parseComponent (vueOptions) {
// 关于百度小程序生命周期的说明(组件作为页面时):
// lifetimes:attached --> methods:onShow --> methods:onLoad --> methods:onReady
// 这里在强制将onShow挪到onLoad之后触发,另外一处修改在page-parser.js
const oldAttached = componentOptions.lifetimes.attached
let oldAttached = componentOptions.lifetimes.attached
// 百度小程序基础库 3.260 以上支持页面 onInit 生命周期,提前创建 vm 实例
componentOptions.lifetimes.onInit = function onInit (query) {
oldAttached.call(this)
oldAttached = noop
this.pageinstance.$vm = this.$vm
this.$vm.__call_hook('onInit', query)
}
componentOptions.lifetimes.attached = function attached () {
oldAttached.call(this)
if (isPage.call(this)) { // 百度 onLoad 在 attached 之前触发
if (isPage.call(this)) { // 百度 onLoad 在 attached 之前触发(基础库小于 3.70)
// 百度 当组件作为页面时 pageinstancce 不是原来组件的 instance
this.pageinstance.$vm = this.$vm
if (hasOwn(this.pageinstance, '_$args')) {
......@@ -62,4 +70,4 @@ export default function parseComponent (vueOptions) {
delete componentOptions.methods.__l
return componentOptions
}
}
......@@ -42,7 +42,7 @@ export default function parsePage (vuePageOptions) {
}
pageOptions.methods.onLoad = function onLoad (query) {
// 百度 onLoad 在 attached 之前触发,先存储 args, 在 attached 里边触发 onLoad
// 百度 onLoad 在 attached 之前触发(基础库小于 3.70),先存储 args, 在 attached 里边触发 onLoad
if (this.$vm) {
const copyQuery = Object.assign({}, query)
delete copyQuery.__id__
......@@ -63,4 +63,4 @@ export default function parsePage (vuePageOptions) {
}
return pageOptions
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册