提交 c2ba3346 编写于 作者: 雪洛's avatar 雪洛

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

...@@ -1499,6 +1499,8 @@ function parseBaseComponent (vueComponentOptions, { ...@@ -1499,6 +1499,8 @@ function parseBaseComponent (vueComponentOptions, {
return [componentOptions, VueComponent] return [componentOptions, VueComponent]
} }
const newLifecycle = swan.canIUse('lifecycle-2-0');
function parseComponent (vueOptions) { function parseComponent (vueOptions) {
const componentOptions = parseBaseComponent(vueOptions, { const componentOptions = parseBaseComponent(vueOptions, {
isPage, isPage,
...@@ -1513,16 +1515,27 @@ function parseComponent (vueOptions) { ...@@ -1513,16 +1515,27 @@ function parseComponent (vueOptions) {
// 百度 当组件作为页面时 pageinstancce 不是原来组件的 instance // 百度 当组件作为页面时 pageinstancce 不是原来组件的 instance
this.pageinstance.$vm = this.$vm; this.pageinstance.$vm = this.$vm;
if (hasOwn(this.pageinstance, '_$args')) { if (hasOwn(this.pageinstance, '_$args')) {
this.$vm.$mp.query = this.pageinstance._$args; this.$vm.$mp.query = this.pageinstance._$args;
this.$vm.__call_hook('onLoad', this.pageinstance._$args); this.$vm.__call_hook('onLoad', this.pageinstance._$args);
delete this.pageinstance._$args; delete this.pageinstance._$args;
} }
// TODO 目前版本 百度 Component 作为页面时,methods 中的 onShow 不触发 // TODO 3.105.17以下基础库内百度 Component 作为页面时,methods 中的 onShow 不触发
this.$vm.__call_hook('onShow'); !newLifecycle && this.$vm.__call_hook('onShow');
} }
}; };
if (newLifecycle) {
delete componentOptions.lifetimes.ready;
componentOptions.methods.onReady = function () {
if (this.$vm) {
this.$vm._isMounted = true;
this.$vm.__call_hook('mounted');
this.$vm.__call_hook('onReady');
}
};
}
componentOptions.messages = { componentOptions.messages = {
'__l': componentOptions.methods['__l'] '__l': componentOptions.methods['__l']
}; };
......
...@@ -11,7 +11,7 @@ import parseBaseComponent from '../../../mp-weixin/runtime/wrapper/component-bas ...@@ -11,7 +11,7 @@ import parseBaseComponent from '../../../mp-weixin/runtime/wrapper/component-bas
const newLifecycle = swan.canIUse('lifecycle-2-0') const newLifecycle = swan.canIUse('lifecycle-2-0')
export default function parseComponent(vueOptions) { export default function parseComponent (vueOptions) {
const componentOptions = parseBaseComponent(vueOptions, { const componentOptions = parseBaseComponent(vueOptions, {
isPage, isPage,
initRelation initRelation
...@@ -19,7 +19,7 @@ export default function parseComponent(vueOptions) { ...@@ -19,7 +19,7 @@ export default function parseComponent(vueOptions) {
const oldAttached = componentOptions.lifetimes.attached const oldAttached = componentOptions.lifetimes.attached
componentOptions.lifetimes.attached = function attached() { componentOptions.lifetimes.attached = function attached () {
oldAttached.call(this) oldAttached.call(this)
if (isPage.call(this)) { // 百度 onLoad 在 attached 之前触发 if (isPage.call(this)) { // 百度 onLoad 在 attached 之前触发
// 百度 当组件作为页面时 pageinstancce 不是原来组件的 instance // 百度 当组件作为页面时 pageinstancce 不是原来组件的 instance
...@@ -37,7 +37,7 @@ export default function parseComponent(vueOptions) { ...@@ -37,7 +37,7 @@ export default function parseComponent(vueOptions) {
if (newLifecycle) { if (newLifecycle) {
delete componentOptions.lifetimes.ready delete componentOptions.lifetimes.ready
componentOptions.methods.onReady = function() { componentOptions.methods.onReady = function () {
if (this.$vm) { if (this.$vm) {
this.$vm._isMounted = true this.$vm._isMounted = true
this.$vm.__call_hook('mounted') this.$vm.__call_hook('mounted')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册