Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lqyangking
mpvue
提交
6c5d78ee
M
mpvue
项目概览
lqyangking
/
mpvue
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mpvue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
6c5d78ee
编写于
8月 05, 2019
作者:
D
Dewyzee
提交者:
GitHub
8月 05, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1687 from Meituan-Dianping/xt/dev
app lifecycle bug fixed
上级
ff0a6277
5813f421
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
17 addition
and
7 deletion
+17
-7
src/platforms/mp/runtime/diff-data.js
src/platforms/mp/runtime/diff-data.js
+1
-1
src/platforms/mp/runtime/lifecycle.js
src/platforms/mp/runtime/lifecycle.js
+1
-1
src/platforms/mp/runtime/render.js
src/platforms/mp/runtime/render.js
+3
-3
src/platforms/mp/util/index.js
src/platforms/mp/util/index.js
+12
-2
未找到文件。
src/platforms/mp/runtime/diff-data.js
浏览文件 @
6c5d78ee
...
...
@@ -63,7 +63,7 @@ function deepDiff (oldData, newData, data, key) {
return
}
if
(
oldData
[
itemKey
]
!==
newData
[
itemKey
])
{
data
[
key
+
'
.
'
+
itemKey
]
=
newData
[
itemKey
]
||
''
data
[
key
+
'
.
'
+
itemKey
]
=
newData
[
itemKey
]
}
})
return
...
...
src/platforms/mp/runtime/lifecycle.js
浏览文件 @
6c5d78ee
...
...
@@ -216,7 +216,7 @@ export function createMP ({ mpType, init }) {
this
.
rootVueVM
=
init
()
this
.
rootVueVM
.
$mp
=
{}
}
const
mp
=
this
.
rootVueVM
const
mp
=
this
.
rootVueVM
.
$mp
mp
.
mpType
=
'
app
'
mp
.
app
=
this
mp
.
status
=
'
launch
'
...
...
src/platforms/mp/runtime/render.js
浏览文件 @
6c5d78ee
...
...
@@ -32,7 +32,7 @@ function getVmData (vm) {
Object
.
keys
(
vm
.
_computedWatchers
||
{})
)
return
dataKeys
.
reduce
((
res
,
key
)
=>
{
res
[
key
]
=
vm
[
key
]
res
[
key
]
=
cloneDeep
(
vm
[
key
])
return
res
},
{})
}
...
...
@@ -120,7 +120,7 @@ const throttleSetData = throttle((handle, data) => {
if
(
!
Object
.
keys
(
data
).
length
)
{
return
}
handle
(
cloneDeep
(
data
)
)
handle
(
data
)
},
50
)
function
getPage
(
vm
)
{
...
...
@@ -142,7 +142,7 @@ export function updateDataToMP () {
return
}
const
data
=
formatVmData
(
this
)
const
data
=
{}
diffData
(
this
,
data
)
throttleSetData
(
page
.
setData
.
bind
(
page
),
data
)
}
...
...
src/platforms/mp/util/index.js
浏览文件 @
6c5d78ee
...
...
@@ -63,9 +63,9 @@ export const eventTypeMap = {
scroll
:
[
'
scroll
'
]
}
// vm上的数据深拷贝
// vm上的数据深拷贝
,小程序里不支持eval函数,暂不支持函数拷贝
function
isObject
(
obj
)
{
return
(
typeof
obj
===
'
object
'
||
typeof
obj
===
'
function
'
)
&&
obj
!==
null
return
(
typeof
obj
===
'
object
'
)
&&
obj
!==
null
}
export
function
cloneDeep
(
data
,
hash
=
new
WeakMap
())
{
...
...
@@ -89,6 +89,16 @@ export function cloneDeep (data, hash = new WeakMap()) {
return
hash
.
get
(
data
)
}
copyData
=
new
Constructor
()
if
(
Constructor
===
Map
)
{
data
.
forEach
((
value
,
key
)
=>
{
copyData
.
set
(
key
,
isObject
(
value
)
?
cloneDeep
(
value
)
:
value
)
})
}
if
(
Constructor
===
Set
)
{
data
.
forEach
(
value
=>
{
copyData
.
add
(
isObject
(
value
)
?
cloneDeep
(
value
)
:
value
)
})
}
hash
.
set
(
data
,
copyData
)
}
const
symbols
=
Object
.
getOwnPropertySymbols
(
data
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录