Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
337c3395
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
718
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
337c3395
编写于
3月 28, 2019
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(runtime): 支持 vue-class-component
上级
4a19265c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
43 addition
and
37 deletion
+43
-37
packages/uni-mp-weixin/dist/index.js
packages/uni-mp-weixin/dist/index.js
+19
-18
packages/uni-mp-weixin/package.json
packages/uni-mp-weixin/package.json
+1
-1
src/core/runtime/wrapper/create-app.js
src/core/runtime/wrapper/create-app.js
+8
-10
src/core/runtime/wrapper/create-page.js
src/core/runtime/wrapper/create-page.js
+13
-2
src/core/runtime/wrapper/util.js
src/core/runtime/wrapper/util.js
+2
-6
未找到文件。
packages/uni-mp-weixin/dist/index.js
浏览文件 @
337c3395
...
...
@@ -279,14 +279,10 @@ function initMocks (vm) {
});
}
function
initHooks
(
mpOptions
,
hooks
,
delay
=
false
)
{
function
initHooks
(
mpOptions
,
hooks
)
{
hooks
.
forEach
(
hook
=>
{
mpOptions
[
hook
]
=
function
(
args
)
{
if
(
delay
)
{
setTimeout
(()
=>
this
.
$vm
.
__call_hook
(
hook
,
args
));
}
else
{
this
.
$vm
.
__call_hook
(
hook
,
args
);
}
this
.
$vm
.
__call_hook
(
hook
,
args
);
};
});
}
...
...
@@ -476,8 +472,7 @@ const hooks = [
'
onPageNotFound
'
];
function
createApp
(
vueOptions
)
{
vueOptions
=
vueOptions
.
default
||
vueOptions
;
function
createApp
(
vm
)
{
// 外部初始化时 Vue 还未初始化,放到 createApp 内部初始化 mixin
Vue
.
mixin
({
beforeCreate
()
{
...
...
@@ -505,21 +500,20 @@ function createApp (vueOptions) {
const
appOptions
=
{
onLaunch
(
args
)
{
this
.
$vm
=
new
Vue
(
Object
.
assign
(
vueOptions
,
{
mpType
:
'
app
'
,
mpInstance
:
this
}));
this
.
$vm
=
vm
;
this
.
$vm
.
$mount
();
setTimeout
(()
=>
this
.
$vm
.
__call_hook
(
'
onLaunch
'
,
args
));
this
.
$vm
.
_isMounted
=
true
;
this
.
$vm
.
__call_hook
(
'
mounted
'
);
this
.
$vm
.
__call_hook
(
'
onLaunch
'
,
args
);
}
};
initHooks
(
appOptions
,
hooks
,
true
);
// 延迟执行,因为 App 的注册在 main.js 之前,可能导致生命周期内 Vue 原型上开发者注册的属性无法访问
initHooks
(
appOptions
,
hooks
);
// 延迟执行,因为 App 的注册在 main.js 之前,可能导致生命周期内 Vue 原型上开发者注册的属性无法访问
App
(
appOptions
);
return
v
ueOptions
return
v
m
}
function
triggerLink
(
mpInstance
,
vueOptions
)
{
...
...
@@ -562,14 +556,21 @@ const hooks$1 = [
function
createPage
(
vueOptions
)
{
vueOptions
=
vueOptions
.
default
||
vueOptions
;
let
VueComponent
;
if
(
isFn
(
vueOptions
))
{
VueComponent
=
vueOptions
;
vueOptions
=
VueComponent
.
extendOptions
;
}
else
{
VueComponent
=
Vue
.
extend
(
vueOptions
);
}
const
pageOptions
=
{
data
:
getData
(
vueOptions
,
Vue
.
prototype
),
onLoad
(
args
)
{
this
.
$vm
=
new
Vue
(
Object
.
assign
(
vueOptions
,
{
this
.
$vm
=
new
Vue
Component
(
{
mpType
:
'
page
'
,
mpInstance
:
this
})
)
;
});
this
.
$vm
.
__call_hook
(
'
created
'
);
this
.
$vm
.
__call_hook
(
'
onLoad
'
,
args
);
// 开发者可能会在 onLoad 时赋值,提前到 mount 之前
...
...
packages/uni-mp-weixin/package.json
浏览文件 @
337c3395
{
"name"
:
"@dcloudio/uni-mp-weixin"
,
"version"
:
"0.0.91
5
"
,
"version"
:
"0.0.91
6
"
,
"description"
:
"uni-app mp-weixin"
,
"main"
:
"dist/index.js"
,
"scripts"
:
{
...
...
src/core/runtime/wrapper/create-app.js
浏览文件 @
337c3395
...
...
@@ -13,8 +13,7 @@ const hooks = [
'
onPageNotFound
'
]
export
function
createApp
(
vueOptions
)
{
vueOptions
=
vueOptions
.
default
||
vueOptions
export
function
createApp
(
vm
)
{
// 外部初始化时 Vue 还未初始化,放到 createApp 内部初始化 mixin
Vue
.
mixin
({
beforeCreate
()
{
...
...
@@ -42,19 +41,18 @@ export function createApp (vueOptions) {
const
appOptions
=
{
onLaunch
(
args
)
{
this
.
$vm
=
new
Vue
(
Object
.
assign
(
vueOptions
,
{
mpType
:
'
app
'
,
mpInstance
:
this
}))
this
.
$vm
=
vm
this
.
$vm
.
$mount
()
setTimeout
(()
=>
this
.
$vm
.
__call_hook
(
'
onLaunch
'
,
args
))
this
.
$vm
.
_isMounted
=
true
this
.
$vm
.
__call_hook
(
'
mounted
'
)
this
.
$vm
.
__call_hook
(
'
onLaunch
'
,
args
)
}
}
initHooks
(
appOptions
,
hooks
,
true
)
// 延迟执行,因为 App 的注册在 main.js 之前,可能导致生命周期内 Vue 原型上开发者注册的属性无法访问
initHooks
(
appOptions
,
hooks
)
// 延迟执行,因为 App 的注册在 main.js 之前,可能导致生命周期内 Vue 原型上开发者注册的属性无法访问
App
(
appOptions
)
return
v
ueOptions
return
v
m
}
src/core/runtime/wrapper/create-page.js
浏览文件 @
337c3395
import
Vue
from
'
vue
'
import
{
isFn
}
from
'
uni-shared
'
import
{
handleLink
}
from
'
uni-platform/runtime/wrapper/index
'
...
...
@@ -29,6 +33,13 @@ const hooks = [
export
function
createPage
(
vueOptions
)
{
vueOptions
=
vueOptions
.
default
||
vueOptions
let
VueComponent
if
(
isFn
(
vueOptions
))
{
VueComponent
=
vueOptions
vueOptions
=
VueComponent
.
extendOptions
}
else
{
VueComponent
=
Vue
.
extend
(
vueOptions
)
}
const
pageOptions
=
{
data
:
getData
(
vueOptions
,
Vue
.
prototype
),
onLoad
(
args
)
{
...
...
@@ -36,10 +47,10 @@ export function createPage (vueOptions) {
this
.
$baiduComponentInstances
=
Object
.
create
(
null
)
}
this
.
$vm
=
new
Vue
(
Object
.
assign
(
vueOptions
,
{
this
.
$vm
=
new
Vue
Component
(
{
mpType
:
'
page
'
,
mpInstance
:
this
})
)
})
this
.
$vm
.
__call_hook
(
'
created
'
)
this
.
$vm
.
__call_hook
(
'
onLoad
'
,
args
)
// 开发者可能会在 onLoad 时赋值,提前到 mount 之前
...
...
src/core/runtime/wrapper/util.js
浏览文件 @
337c3395
...
...
@@ -16,14 +16,10 @@ export function initMocks (vm) {
})
}
export
function
initHooks
(
mpOptions
,
hooks
,
delay
=
false
)
{
export
function
initHooks
(
mpOptions
,
hooks
)
{
hooks
.
forEach
(
hook
=>
{
mpOptions
[
hook
]
=
function
(
args
)
{
if
(
delay
)
{
setTimeout
(()
=>
this
.
$vm
.
__call_hook
(
hook
,
args
))
}
else
{
this
.
$vm
.
__call_hook
(
hook
,
args
)
}
this
.
$vm
.
__call_hook
(
hook
,
args
)
}
})
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录