Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
D-GSQ
uni-app
提交
c6cfc7c6
U
uni-app
项目概览
D-GSQ
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c6cfc7c6
编写于
10月 21, 2022
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(App): page root node remove/add (question/155057)
上级
d1c70f29
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
1220 addition
and
1220 deletion
+1220
-1220
packages/uni-app-plus/dist/service.runtime.esm.dev.js
packages/uni-app-plus/dist/service.runtime.esm.dev.js
+610
-610
packages/uni-app-plus/dist/service.runtime.esm.prod.js
packages/uni-app-plus/dist/service.runtime.esm.prod.js
+610
-610
未找到文件。
packages/uni-app-plus/dist/service.runtime.esm.dev.js
浏览文件 @
c6cfc7c6
...
...
@@ -2259,17 +2259,17 @@ function mergeVNodeHook (def, hookKey, hook) {
/* */
// fixed by xxxxxx (mp properties)
function
extractPropertiesFromVNodeData
(
data
,
Ctor
,
res
,
context
)
{
var
propOptions
=
Ctor
.
options
.
mpOptions
&&
Ctor
.
options
.
mpOptions
.
properties
;
if
(
isUndef
(
propOptions
))
{
return
res
// fixed by xxxxxx (mp properties)
function
extractPropertiesFromVNodeData
(
data
,
Ctor
,
res
,
context
)
{
var
propOptions
=
Ctor
.
options
.
mpOptions
&&
Ctor
.
options
.
mpOptions
.
properties
;
if
(
isUndef
(
propOptions
))
{
return
res
}
var
externalClasses
=
Ctor
.
options
.
mpOptions
.
externalClasses
||
[];
var
externalClasses
=
Ctor
.
options
.
mpOptions
.
externalClasses
||
[];
var
attrs
=
data
.
attrs
;
var
props
=
data
.
props
;
if
(
isDef
(
attrs
)
||
isDef
(
props
))
{
for
(
var
key
in
propOptions
)
{
var
props
=
data
.
props
;
if
(
isDef
(
attrs
)
||
isDef
(
props
))
{
for
(
var
key
in
propOptions
)
{
var
altKey
=
hyphenate
(
key
);
var
result
=
checkProp
(
res
,
props
,
key
,
altKey
,
true
)
||
checkProp
(
res
,
attrs
,
key
,
altKey
,
false
);
...
...
@@ -2282,10 +2282,10 @@ function extractPropertiesFromVNodeData(data, Ctor, res, context) {
)
{
// 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)
res
[
key
]
=
context
[
camelize
(
res
[
key
])];
}
}
}
return
res
}
}
}
return
res
}
function
extractPropsFromVNodeData
(
...
...
@@ -5492,464 +5492,464 @@ Object.defineProperty(Vue, 'FunctionalRenderContext', {
Vue
.
version
=
'
2.6.11
'
;
var
nextNodeRef
=
1
;
function
uniqueId
()
{
return
(
nextNodeRef
++
).
toString
()
}
var
Node
=
function
Node
()
{
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
children
=
[];
this
.
pureChildren
=
[];
this
.
parentNode
=
null
;
this
.
nextSibling
=
null
;
this
.
previousSibling
=
null
;
};
Node
.
prototype
.
destroy
=
function
destroy
()
{
this
.
_$vd
&&
this
.
_$vd
.
removeElement
(
this
);
this
.
children
.
forEach
(
function
(
child
)
{
child
.
destroy
();
});
var
nextNodeRef
=
1
;
function
uniqueId
()
{
return
(
nextNodeRef
++
).
toString
()
}
var
Node
=
function
Node
()
{
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
children
=
[];
this
.
pureChildren
=
[];
this
.
parentNode
=
null
;
this
.
nextSibling
=
null
;
this
.
previousSibling
=
null
;
};
Node
.
prototype
.
destroy
=
function
destroy
()
{
this
.
_$vd
&&
this
.
_$vd
.
removeElement
(
this
);
this
.
children
.
forEach
(
function
(
child
)
{
child
.
destroy
();
});
};
var
Comment
=
/*@__PURE__*/
(
function
(
Node$$1
)
{
function
Comment
(
value
)
{
Node$$1
.
call
(
this
);
this
.
nodeType
=
8
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
'
comment
'
;
this
.
value
=
value
;
this
.
children
=
[];
this
.
pureChildren
=
[];
function
Comment
(
value
)
{
Node$$1
.
call
(
this
);
this
.
nodeType
=
8
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
'
comment
'
;
this
.
value
=
value
;
this
.
children
=
[];
this
.
pureChildren
=
[];
}
if
(
Node$$1
)
Comment
.
__proto__
=
Node$$1
;
Comment
.
prototype
=
Object
.
create
(
Node$$1
&&
Node$$1
.
prototype
);
Comment
.
prototype
.
constructor
=
Comment
;
Comment
.
prototype
.
toString
=
function
toString
()
{
return
'
<!--
'
+
this
.
value
+
'
-->
'
Comment
.
prototype
.
constructor
=
Comment
;
Comment
.
prototype
.
toString
=
function
toString
()
{
return
'
<!--
'
+
this
.
value
+
'
-->
'
};
return
Comment
;
}(
Node
));
function
appendBody
(
doc
,
node
,
before
)
{
var
documentElement
=
doc
.
documentElement
;
if
(
documentElement
.
pureChildren
.
length
>
0
||
node
.
parentNode
)
{
return
}
var
children
=
documentElement
.
children
;
var
beforeIndex
=
children
.
indexOf
(
before
);
if
(
beforeIndex
<
0
)
{
children
.
push
(
node
);
}
else
{
children
.
splice
(
beforeIndex
,
0
,
node
);
}
if
(
node
.
nodeType
===
1
)
{
if
(
node
.
role
===
'
body
'
)
{
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
node
.
parentNode
=
documentElement
;
linkParent
(
node
,
documentElement
);
}
else
{
node
.
children
.
forEach
(
function
(
child
)
{
child
.
parentNode
=
node
;
});
setBody
(
doc
,
node
);
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
linkParent
(
node
,
documentElement
);
}
documentElement
.
pureChildren
.
push
(
node
);
}
else
{
node
.
parentNode
=
documentElement
;
}
}
function
setBody
(
doc
,
el
)
{
el
.
role
=
'
body
'
;
el
.
depth
=
1
;
el
.
ref
=
'
_root
'
;
doc
.
body
=
el
;
}
function
linkParent
(
node
,
parent
)
{
node
.
parentNode
=
parent
;
if
(
parent
.
docId
)
{
node
.
docId
=
parent
.
docId
;
node
.
ownerDocument
=
parent
.
ownerDocument
;
node
.
depth
=
parent
.
depth
+
1
;
}
node
.
children
.
forEach
(
function
(
child
)
{
linkParent
(
child
,
node
);
});
}
function
nextElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
nextSibling
;
}
}
function
previousElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
previousSibling
;
}
}
function
insertIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
if
(
newIndex
<
0
)
{
newIndex
=
0
;
}
var
before
=
list
[
newIndex
-
1
];
var
after
=
list
[
newIndex
];
list
.
splice
(
newIndex
,
0
,
target
);
if
(
changeSibling
)
{
before
&&
(
before
.
nextSibling
=
target
);
target
.
previousSibling
=
before
;
target
.
nextSibling
=
after
;
after
&&
(
after
.
previousSibling
=
target
);
}
return
newIndex
}
function
moveIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
-
1
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
var
newIndexAfter
=
newIndex
;
if
(
index
<=
newIndex
)
{
newIndexAfter
=
newIndex
-
1
;
}
var
beforeNew
=
list
[
newIndexAfter
-
1
];
var
afterNew
=
list
[
newIndexAfter
];
list
.
splice
(
newIndexAfter
,
0
,
target
);
if
(
changeSibling
)
{
beforeNew
&&
(
beforeNew
.
nextSibling
=
target
);
target
.
previousSibling
=
beforeNew
;
target
.
nextSibling
=
afterNew
;
afterNew
&&
(
afterNew
.
previousSibling
=
target
);
}
if
(
index
===
newIndexAfter
)
{
return
-
1
}
return
newIndex
}
function
removeIndex
(
target
,
list
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
}
var
DEFAULT_TAG_NAME
=
'
view
'
;
function
appendBody
(
doc
,
node
,
before
)
{
var
documentElement
=
doc
.
documentElement
;
// fix append comment
if
(
(
documentElement
.
pureChildren
.
length
>
0
&&
node
.
nodeType
===
1
)
||
node
.
parentNode
)
{
return
}
var
children
=
documentElement
.
children
;
var
beforeIndex
=
children
.
indexOf
(
before
);
if
(
beforeIndex
<
0
)
{
children
.
push
(
node
);
}
else
{
children
.
splice
(
beforeIndex
,
0
,
node
);
}
if
(
node
.
nodeType
===
1
)
{
if
(
node
.
role
===
'
body
'
)
{
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
node
.
parentNode
=
documentElement
;
linkParent
(
node
,
documentElement
);
}
else
{
node
.
children
.
forEach
(
function
(
child
)
{
child
.
parentNode
=
node
;
});
setBody
(
doc
,
node
);
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
linkParent
(
node
,
documentElement
);
}
documentElement
.
pureChildren
.
push
(
node
);
}
else
{
node
.
parentNode
=
documentElement
;
}
}
function
setBody
(
doc
,
el
)
{
el
.
role
=
'
body
'
;
el
.
depth
=
1
;
el
.
ref
=
'
_root
'
;
doc
.
body
=
el
;
}
function
linkParent
(
node
,
parent
)
{
node
.
parentNode
=
parent
;
if
(
parent
.
docId
)
{
node
.
docId
=
parent
.
docId
;
node
.
ownerDocument
=
parent
.
ownerDocument
;
node
.
depth
=
parent
.
depth
+
1
;
}
node
.
children
.
forEach
(
function
(
child
)
{
linkParent
(
child
,
node
);
});
}
function
nextElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
nextSibling
;
}
}
function
previousElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
previousSibling
;
}
}
function
insertIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
if
(
newIndex
<
0
)
{
newIndex
=
0
;
}
var
before
=
list
[
newIndex
-
1
];
var
after
=
list
[
newIndex
];
list
.
splice
(
newIndex
,
0
,
target
);
if
(
changeSibling
)
{
before
&&
(
before
.
nextSibling
=
target
);
target
.
previousSibling
=
before
;
target
.
nextSibling
=
after
;
after
&&
(
after
.
previousSibling
=
target
);
}
return
newIndex
}
function
moveIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
-
1
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
var
newIndexAfter
=
newIndex
;
if
(
index
<=
newIndex
)
{
newIndexAfter
=
newIndex
-
1
;
}
var
beforeNew
=
list
[
newIndexAfter
-
1
];
var
afterNew
=
list
[
newIndexAfter
];
list
.
splice
(
newIndexAfter
,
0
,
target
);
if
(
changeSibling
)
{
beforeNew
&&
(
beforeNew
.
nextSibling
=
target
);
target
.
previousSibling
=
beforeNew
;
target
.
nextSibling
=
afterNew
;
afterNew
&&
(
afterNew
.
previousSibling
=
target
);
}
if
(
index
===
newIndexAfter
)
{
return
-
1
}
return
newIndex
}
function
removeIndex
(
target
,
list
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
}
var
DEFAULT_TAG_NAME
=
'
view
'
;
var
Element
=
/*@__PURE__*/
(
function
(
Node$$1
)
{
function
Element
(
type
)
{
if
(
type
===
void
0
)
type
=
DEFAULT_TAG_NAME
;
Node$$1
.
call
(
this
);
this
.
nodeType
=
1
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
type
;
this
.
attr
=
{};
this
.
events
=
{};
this
.
children
=
[];
this
.
pureChildren
=
[];
Node$$1
.
call
(
this
);
this
.
nodeType
=
1
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
type
;
this
.
attr
=
{};
this
.
events
=
{};
this
.
children
=
[];
this
.
pureChildren
=
[];
}
if
(
Node$$1
)
Element
.
__proto__
=
Node$$1
;
Element
.
prototype
=
Object
.
create
(
Node$$1
&&
Node$$1
.
prototype
);
Element
.
prototype
.
constructor
=
Element
;
Element
.
prototype
.
setAttribute
=
function
setAttribute
(
key
,
value
)
{
if
(
key
===
'
cid
'
)
{
this
.
cid
=
value
;
}
else
if
(
key
===
'
nid
'
)
{
this
.
nid
=
value
;
}
};
Element
.
prototype
.
dispatchEvent
=
function
dispatchEvent
(
name
,
target
)
{
var
handlers
=
this
.
events
[
name
];
if
(
!
handlers
)
{
return
}
handlers
.
forEach
(
function
(
handler
)
{
handler
(
target
);
});
};
Element
.
prototype
.
addEventListener
=
function
addEventListener
(
name
,
handler
)
{
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
addEventListener(
"
+
name
+
"
) not found
"
))
}
(
this
.
events
[
name
]
||
(
this
.
events
[
name
]
=
[])).
push
(
handler
);
this
.
_$vd
.
addElement
(
this
);
};
Element
.
prototype
.
constructor
=
Element
;
Element
.
prototype
.
setAttribute
=
function
setAttribute
(
key
,
value
)
{
if
(
key
===
'
cid
'
)
{
this
.
cid
=
value
;
}
else
if
(
key
===
'
nid
'
)
{
this
.
nid
=
value
;
}
};
Element
.
prototype
.
dispatchEvent
=
function
dispatchEvent
(
name
,
target
)
{
var
handlers
=
this
.
events
[
name
];
if
(
!
handlers
)
{
return
}
handlers
.
forEach
(
function
(
handler
)
{
handler
(
target
);
});
};
Element
.
prototype
.
addEventListener
=
function
addEventListener
(
name
,
handler
)
{
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
addEventListener(
"
+
name
+
"
) not found
"
))
}
(
this
.
events
[
name
]
||
(
this
.
events
[
name
]
=
[])).
push
(
handler
);
this
.
_$vd
.
addElement
(
this
);
};
Element
.
prototype
.
removeEventListener
=
function
removeEventListener
(
name
,
handler
)
{
var
this
$1
=
this
;
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) not found
"
))
}
var
isRemoved
=
false
;
if
(
this
.
events
[
name
])
{
var
handlerIndex
=
this
.
events
[
name
].
indexOf
(
handler
);
if
(
handlerIndex
!==
-
1
)
{
this
.
events
[
name
].
splice
(
handlerIndex
,
1
);
isRemoved
=
true
;
}
}
if
(
!
isRemoved
)
{
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) handler not found
"
));
}
Object
.
keys
(
this
.
events
).
every
(
function
(
eventType
)
{
return
this
$1
.
events
[
eventType
].
length
===
0
;
})
&&
this
.
_$vd
.
removeElement
(
this
);
};
Element
.
prototype
.
appendChild
=
function
appendChild
(
node
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("development" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Append <${node.type}> to <${this.type}> (${this.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
else
{
// if ("development" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Move <${node.type}> to ${this.children.length} of <${this.type}> (${this.ref}).`)
// }
moveIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertBefore
=
function
insertBefore
(
node
,
before
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
before
||
(
node
.
nextSibling
&&
node
.
nextSibling
===
before
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("development" !== 'production') {
// console.log(`[insertBefore](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), before (${before.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore
=
nextElement
(
before
);
insertIndex
(
node
,
this
.
pureChildren
,
pureBefore
?
this
.
pureChildren
.
indexOf
(
pureBefore
)
:
this
.
pureChildren
.
length
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore$1
=
nextElement
(
before
);
moveIndex
(
node
,
this
.
pureChildren
,
pureBefore$1
?
this
.
pureChildren
.
indexOf
(
pureBefore$1
)
:
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertAfter
=
function
insertAfter
(
node
,
after
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
after
||
(
node
.
previousSibling
&&
node
.
previousSibling
===
after
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("development" !== 'production') {
// console.log(`[insertAfter](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), after (${after.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
};
Element
.
prototype
.
removeChild
=
function
removeChild
(
node
,
preserved
)
{
if
(
node
.
parentNode
)
{
removeIndex
(
node
,
this
.
children
,
true
);
if
(
node
.
nodeType
===
1
)
{
// if ("development" !== 'production') {
// console.log(`[removeChild](${this.docId},${node.type},${node.ref}) ` +
// `Remove <${node.type}> from <${this.type}> (${this.ref}).`)
// }
removeIndex
(
node
,
this
.
pureChildren
);
}
}
if
(
!
preserved
)
{
node
.
destroy
();
}
};
Element
.
prototype
.
clear
=
function
clear
()
{
this
.
children
.
forEach
(
function
(
node
)
{
node
.
destroy
();
});
this
.
children
.
length
=
0
;
this
.
pureChildren
.
length
=
0
;
};
Element
.
prototype
.
toString
=
function
toString
()
{
return
'
<
'
+
this
.
type
+
'
attr=
'
+
JSON
.
stringify
(
this
.
attr
)
+
'
style=
'
+
JSON
.
stringify
(
this
.
toStyle
())
+
'
>
'
+
this
.
pureChildren
.
map
(
function
(
child
)
{
return
child
.
toString
();
}).
join
(
''
)
+
'
</
'
+
this
.
type
+
'
>
'
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) not found
"
))
}
var
isRemoved
=
false
;
if
(
this
.
events
[
name
])
{
var
handlerIndex
=
this
.
events
[
name
].
indexOf
(
handler
);
if
(
handlerIndex
!==
-
1
)
{
this
.
events
[
name
].
splice
(
handlerIndex
,
1
);
isRemoved
=
true
;
}
}
if
(
!
isRemoved
)
{
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) handler not found
"
));
}
Object
.
keys
(
this
.
events
).
every
(
function
(
eventType
)
{
return
this
$1
.
events
[
eventType
].
length
===
0
;
})
&&
this
.
_$vd
.
removeElement
(
this
);
};
Element
.
prototype
.
appendChild
=
function
appendChild
(
node
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("development" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Append <${node.type}> to <${this.type}> (${this.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
else
{
// if ("development" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Move <${node.type}> to ${this.children.length} of <${this.type}> (${this.ref}).`)
// }
moveIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertBefore
=
function
insertBefore
(
node
,
before
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
before
||
(
node
.
nextSibling
&&
node
.
nextSibling
===
before
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("development" !== 'production') {
// console.log(`[insertBefore](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), before (${before.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore
=
nextElement
(
before
);
insertIndex
(
node
,
this
.
pureChildren
,
pureBefore
?
this
.
pureChildren
.
indexOf
(
pureBefore
)
:
this
.
pureChildren
.
length
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore$1
=
nextElement
(
before
);
moveIndex
(
node
,
this
.
pureChildren
,
pureBefore$1
?
this
.
pureChildren
.
indexOf
(
pureBefore$1
)
:
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertAfter
=
function
insertAfter
(
node
,
after
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
after
||
(
node
.
previousSibling
&&
node
.
previousSibling
===
after
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("development" !== 'production') {
// console.log(`[insertAfter](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), after (${after.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
};
Element
.
prototype
.
removeChild
=
function
removeChild
(
node
,
preserved
)
{
if
(
node
.
parentNode
)
{
removeIndex
(
node
,
this
.
children
,
true
);
if
(
node
.
nodeType
===
1
)
{
// if ("development" !== 'production') {
// console.log(`[removeChild](${this.docId},${node.type},${node.ref}) ` +
// `Remove <${node.type}> from <${this.type}> (${this.ref}).`)
// }
removeIndex
(
node
,
this
.
pureChildren
);
}
}
if
(
!
preserved
)
{
node
.
destroy
();
}
};
Element
.
prototype
.
clear
=
function
clear
()
{
this
.
children
.
forEach
(
function
(
node
)
{
node
.
destroy
();
});
this
.
children
.
length
=
0
;
this
.
pureChildren
.
length
=
0
;
};
Element
.
prototype
.
toString
=
function
toString
()
{
return
'
<
'
+
this
.
type
+
'
attr=
'
+
JSON
.
stringify
(
this
.
attr
)
+
'
style=
'
+
JSON
.
stringify
(
this
.
toStyle
())
+
'
>
'
+
this
.
pureChildren
.
map
(
function
(
child
)
{
return
child
.
toString
();
}).
join
(
''
)
+
'
</
'
+
this
.
type
+
'
>
'
};
return
Element
;
}(
Node
));
var
Document
=
function
Document
(
id
,
url
)
{
this
.
id
=
id
?
id
.
toString
()
:
''
;
this
.
URL
=
url
;
this
.
createDocumentElement
();
};
var
Document
=
function
Document
(
id
,
url
)
{
this
.
id
=
id
?
id
.
toString
()
:
''
;
this
.
URL
=
url
;
this
.
createDocumentElement
();
};
Document
.
prototype
.
createDocumentElement
=
function
createDocumentElement
()
{
var
this
$1
=
this
;
if
(
!
this
.
documentElement
)
{
var
el
=
new
Element
(
'
document
'
);
el
.
docId
=
this
.
id
;
el
.
ownerDocument
=
this
;
el
.
role
=
'
documentElement
'
;
el
.
depth
=
0
;
el
.
ref
=
'
_documentElement
'
;
this
.
documentElement
=
el
;
Object
.
defineProperty
(
el
,
'
appendChild
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
)
{
appendBody
(
this
$1
,
node
);
}
});
Object
.
defineProperty
(
el
,
'
insertBefore
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
,
before
)
{
appendBody
(
this
$1
,
node
,
before
);
}
});
// if ("development" !== 'production') {
// console.log(`Create document element (id: "${el.docId}", ref: "${el.ref}")`)
// }
}
return
this
.
documentElement
};
Document
.
prototype
.
createBody
=
function
createBody
(
type
)
{
if
(
!
this
.
body
)
{
var
el
=
new
Element
(
type
);
setBody
(
this
,
el
);
// if ("development" !== 'production') {
// console.log(`[createBody](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
}
return
this
.
body
};
Document
.
prototype
.
createElement
=
function
createElement
(
tagName
)
{
var
el
=
new
Element
(
tagName
);
// if ("development" !== 'production') {
// console.log(`[createElement](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
return
el
};
Document
.
prototype
.
createComment
=
function
createComment
(
text
)
{
return
new
Comment
(
text
)
};
Document
.
prototype
.
destroy
=
function
destroy
()
{
// if ("development" !== 'production') {
// console.log(`[destroy](${this.id},document,${this.ref}) ` +
// `Destroy document (id: "${this.id}", URL: "${this.URL}")`)
// }
if
(
!
this
.
documentElement
)
{
var
el
=
new
Element
(
'
document
'
);
el
.
docId
=
this
.
id
;
el
.
ownerDocument
=
this
;
el
.
role
=
'
documentElement
'
;
el
.
depth
=
0
;
el
.
ref
=
'
_documentElement
'
;
this
.
documentElement
=
el
;
Object
.
defineProperty
(
el
,
'
appendChild
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
)
{
appendBody
(
this
$1
,
node
);
}
});
Object
.
defineProperty
(
el
,
'
insertBefore
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
,
before
)
{
appendBody
(
this
$1
,
node
,
before
);
}
});
// if ("development" !== 'production') {
// console.log(`Create document element (id: "${el.docId}", ref: "${el.ref}")`)
// }
}
return
this
.
documentElement
};
Document
.
prototype
.
createBody
=
function
createBody
(
type
)
{
if
(
!
this
.
body
)
{
var
el
=
new
Element
(
type
);
setBody
(
this
,
el
);
// if ("development" !== 'production') {
// console.log(`[createBody](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
}
return
this
.
body
};
Document
.
prototype
.
createElement
=
function
createElement
(
tagName
)
{
var
el
=
new
Element
(
tagName
);
// if ("development" !== 'production') {
// console.log(`[createElement](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
return
el
};
Document
.
prototype
.
createComment
=
function
createComment
(
text
)
{
return
new
Comment
(
text
)
};
Document
.
prototype
.
destroy
=
function
destroy
()
{
// if ("development" !== 'production') {
// console.log(`[destroy](${this.id},document,${this.ref}) ` +
// `Destroy document (id: "${this.id}", URL: "${this.URL}")`)
// }
};
/* */
...
...
@@ -6002,48 +6002,48 @@ function isUnknownElement () {
/* */
function
createElement$1
(
tagName
)
{
return
new
Element
(
tagName
)
}
function
createElementNS
(
namespace
,
tagName
)
{
return
new
Element
(
namespace
+
'
:
'
+
tagName
)
}
function
createTextNode
()
{
return
new
Element
(
'
text
'
)
}
function
createComment
(
text
)
{
return
new
Comment
(
text
)
}
function
insertBefore
(
node
,
target
,
before
)
{
node
.
insertBefore
(
target
,
before
);
}
function
removeChild
(
node
,
child
)
{
node
.
removeChild
(
child
);
}
function
appendChild
(
node
,
child
)
{
node
.
appendChild
(
child
);
}
function
parentNode
(
node
)
{
return
node
.
parentNode
}
function
nextSibling
(
node
)
{
return
node
.
nextSibling
}
function
tagName
(
node
)
{
return
node
.
type
}
function
setTextContent
()
{}
function
createElement$1
(
tagName
)
{
return
new
Element
(
tagName
)
}
function
createElementNS
(
namespace
,
tagName
)
{
return
new
Element
(
namespace
+
'
:
'
+
tagName
)
}
function
createTextNode
()
{
return
new
Element
(
'
text
'
)
}
function
createComment
(
text
)
{
return
new
Comment
(
text
)
}
function
insertBefore
(
node
,
target
,
before
)
{
node
.
insertBefore
(
target
,
before
);
}
function
removeChild
(
node
,
child
)
{
node
.
removeChild
(
child
);
}
function
appendChild
(
node
,
child
)
{
node
.
appendChild
(
child
);
}
function
parentNode
(
node
)
{
return
node
.
parentNode
}
function
nextSibling
(
node
)
{
return
node
.
nextSibling
}
function
tagName
(
node
)
{
return
node
.
type
}
function
setTextContent
()
{}
function
setStyleScope
()
{}
var
nodeOps
=
/*#__PURE__*/
Object
.
freeze
({
...
...
@@ -7032,91 +7032,91 @@ var baseModules = [
directives
];
/* */
function
updateWxsProps
(
oldVnode
,
vnode
)
{
if
(
isUndef
(
oldVnode
.
data
.
wxsProps
)
&&
isUndef
(
vnode
.
data
.
wxsProps
)
)
{
return
}
var
oldWxsWatches
=
oldVnode
.
$wxsWatches
;
var
wxsPropsKey
=
Object
.
keys
(
vnode
.
data
.
wxsProps
);
if
(
!
oldWxsWatches
&&
!
wxsPropsKey
.
length
)
{
return
}
if
(
!
oldWxsWatches
)
{
oldWxsWatches
=
{};
}
var
wxsProps
=
vnode
.
data
.
wxsProps
;
vnode
.
$wxsWatches
=
{};
Object
.
keys
(
wxsProps
).
forEach
(
function
(
prop
)
{
var
watchProp
=
wxsProps
[
prop
];
vnode
.
$wxsWatches
[
prop
]
=
oldWxsWatches
[
prop
]
||
vnode
.
context
.
$watch
(
watchProp
,
function
()
{
this
.
$forceUpdate
();
},
{
immediate
:
true
,
// 当 prop 的值被设置 WXS 函数就会触发,而不只是值发生改变,所以在页面初始化的时候会调用一次 WxsPropObserver 的函数
deep
:
true
});
});
Object
.
keys
(
oldWxsWatches
).
forEach
(
function
(
oldName
)
{
if
(
!
vnode
.
$wxsWatches
[
oldName
])
{
oldWxsWatches
[
oldName
]();
delete
oldWxsWatches
[
oldName
];
}
});
}
var
wxs
=
{
create
:
updateWxsProps
,
update
:
updateWxsProps
/* */
function
updateWxsProps
(
oldVnode
,
vnode
)
{
if
(
isUndef
(
oldVnode
.
data
.
wxsProps
)
&&
isUndef
(
vnode
.
data
.
wxsProps
)
)
{
return
}
var
oldWxsWatches
=
oldVnode
.
$wxsWatches
;
var
wxsPropsKey
=
Object
.
keys
(
vnode
.
data
.
wxsProps
);
if
(
!
oldWxsWatches
&&
!
wxsPropsKey
.
length
)
{
return
}
if
(
!
oldWxsWatches
)
{
oldWxsWatches
=
{};
}
var
wxsProps
=
vnode
.
data
.
wxsProps
;
vnode
.
$wxsWatches
=
{};
Object
.
keys
(
wxsProps
).
forEach
(
function
(
prop
)
{
var
watchProp
=
wxsProps
[
prop
];
vnode
.
$wxsWatches
[
prop
]
=
oldWxsWatches
[
prop
]
||
vnode
.
context
.
$watch
(
watchProp
,
function
()
{
this
.
$forceUpdate
();
},
{
immediate
:
true
,
// 当 prop 的值被设置 WXS 函数就会触发,而不只是值发生改变,所以在页面初始化的时候会调用一次 WxsPropObserver 的函数
deep
:
true
});
});
Object
.
keys
(
oldWxsWatches
).
forEach
(
function
(
oldName
)
{
if
(
!
vnode
.
$wxsWatches
[
oldName
])
{
oldWxsWatches
[
oldName
]();
delete
oldWxsWatches
[
oldName
];
}
});
}
var
wxs
=
{
create
:
updateWxsProps
,
update
:
updateWxsProps
};
function
parseDataset
(
attrs
)
{
var
dataset
=
Object
.
create
(
null
);
Object
.
keys
(
attrs
).
forEach
(
function
(
name
)
{
if
(
name
.
indexOf
(
'
data-
'
)
===
0
)
{
var
camelizeName
=
camelize
(
name
.
replace
(
'
data-
'
,
''
));
try
{
dataset
[
camelizeName
]
=
JSON
.
parse
(
attrs
[
name
]);
}
catch
(
e
)
{
dataset
[
camelizeName
]
=
attrs
[
name
];
}
}
});
return
dataset
}
function
updateAttrs
(
oldVnode
,
vnode
)
{
var
attrs
=
vnode
.
data
.
attrs
;
if
(
isUndef
(
attrs
))
{
return
}
var
id
=
attrs
[
'
_i
'
];
if
(
isUndef
(
id
))
{
return
}
var
elm
=
vnode
.
elm
;
elm
.
dataset
=
Object
.
assign
(
elm
.
dataset
||
{},
parseDataset
(
attrs
));
}
var
attrs
=
{
create
:
updateAttrs
,
update
:
updateAttrs
function
parseDataset
(
attrs
)
{
var
dataset
=
Object
.
create
(
null
);
Object
.
keys
(
attrs
).
forEach
(
function
(
name
)
{
if
(
name
.
indexOf
(
'
data-
'
)
===
0
)
{
var
camelizeName
=
camelize
(
name
.
replace
(
'
data-
'
,
''
));
try
{
dataset
[
camelizeName
]
=
JSON
.
parse
(
attrs
[
name
]);
}
catch
(
e
)
{
dataset
[
camelizeName
]
=
attrs
[
name
];
}
}
});
return
dataset
}
function
updateAttrs
(
oldVnode
,
vnode
)
{
var
attrs
=
vnode
.
data
.
attrs
;
if
(
isUndef
(
attrs
))
{
return
}
var
id
=
attrs
[
'
_i
'
];
if
(
isUndef
(
id
))
{
return
}
var
elm
=
vnode
.
elm
;
elm
.
dataset
=
Object
.
assign
(
elm
.
dataset
||
{},
parseDataset
(
attrs
));
}
var
attrs
=
{
create
:
updateAttrs
,
update
:
updateAttrs
};
/* */
...
...
@@ -7197,16 +7197,16 @@ function updateDOMListeners (oldVnode, vnode) {
target$1
.
_$vd
=
vnode
.
context
.
_$vd
;
var
context
=
vnode
.
context
;
// 存储事件标记
var
nid
=
(
vnode
.
data
.
attrs
||
{})[
'
_i
'
];
var
parent
=
vnode
.
parent
;
while
(
parent
&&
parent
.
componentInstance
)
{
// 使用组件外壳节点id
var
parentId
=
parent
.
data
.
attrs
&&
parent
.
data
.
attrs
[
'
_i
'
];
isDef
(
parentId
)
&&
(
nid
=
'
r-
'
+
parentId
);
parent
=
parent
.
parent
;
}
target$1
.
setAttribute
(
'
nid
'
,
String
(
nid
));
var
nid
=
(
vnode
.
data
.
attrs
||
{})[
'
_i
'
];
var
parent
=
vnode
.
parent
;
while
(
parent
&&
parent
.
componentInstance
)
{
// 使用组件外壳节点id
var
parentId
=
parent
.
data
.
attrs
&&
parent
.
data
.
attrs
[
'
_i
'
];
isDef
(
parentId
)
&&
(
nid
=
'
r-
'
+
parentId
);
parent
=
parent
.
parent
;
}
target$1
.
setAttribute
(
'
nid
'
,
String
(
nid
));
target$1
.
setAttribute
(
'
cid
'
,
context
.
_$id
);
normalizeEvents
(
on
);
...
...
@@ -7221,8 +7221,8 @@ var events = {
var
platformModules
=
[
wxs
,
attrs
,
events
attrs
,
events
];
/* */
...
...
@@ -7237,9 +7237,9 @@ var model$1 = {};
var
show
=
{};
var
platformDirectives
=
{
model
:
model$1
,
show
:
show
var
platformDirectives
=
{
model
:
model$1
,
show
:
show
};
var
platformComponents
=
{
...
...
@@ -7310,35 +7310,35 @@ function normalizeStyleBinding (bindingStyle) {
return
bindingStyle
}
function
callHook$2
(
hook
,
args
)
{
var
vm
=
this
;
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget
();
var
handlers
=
vm
.
$options
[
hook
];
var
info
=
hook
+
"
hook
"
;
var
ret
;
if
(
handlers
)
{
for
(
var
i
=
0
,
j
=
handlers
.
length
;
i
<
j
;
i
++
)
{
ret
=
invokeWithErrorHandling
(
handlers
[
i
],
vm
,
args
?
[
args
]
:
null
,
vm
,
info
);
}
}
if
(
vm
.
_hasHookEvent
)
{
vm
.
$emit
(
'
hook:
'
+
hook
,
args
);
}
popTarget
();
return
ret
}
var
plugin
=
{
install
:
function
install
(
Vue
)
{
function
callHook$2
(
hook
,
args
)
{
var
vm
=
this
;
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget
();
var
handlers
=
vm
.
$options
[
hook
];
var
info
=
hook
+
"
hook
"
;
var
ret
;
if
(
handlers
)
{
for
(
var
i
=
0
,
j
=
handlers
.
length
;
i
<
j
;
i
++
)
{
ret
=
invokeWithErrorHandling
(
handlers
[
i
],
vm
,
args
?
[
args
]
:
null
,
vm
,
info
);
}
}
if
(
vm
.
_hasHookEvent
)
{
vm
.
$emit
(
'
hook:
'
+
hook
,
args
);
}
popTarget
();
return
ret
}
var
plugin
=
{
install
:
function
install
(
Vue
)
{
Vue
.
prototype
.
_$queue
=
queue
;
Vue
.
prototype
.
__call_hook
=
callHook$2
;
// 运行时需要格式化 class,style
Vue
.
prototype
.
_$stringifyClass
=
stringifyClass
;
Vue
.
prototype
.
_$normalizeStyleBinding
=
normalizeStyleBinding
;
}
Vue
.
prototype
.
__call_hook
=
callHook$2
;
// 运行时需要格式化 class,style
Vue
.
prototype
.
_$stringifyClass
=
stringifyClass
;
Vue
.
prototype
.
_$normalizeStyleBinding
=
normalizeStyleBinding
;
}
};
/* */
...
...
packages/uni-app-plus/dist/service.runtime.esm.prod.js
浏览文件 @
c6cfc7c6
...
...
@@ -1819,17 +1819,17 @@ function mergeVNodeHook (def, hookKey, hook) {
/* */
// fixed by xxxxxx (mp properties)
function
extractPropertiesFromVNodeData
(
data
,
Ctor
,
res
,
context
)
{
var
propOptions
=
Ctor
.
options
.
mpOptions
&&
Ctor
.
options
.
mpOptions
.
properties
;
if
(
isUndef
(
propOptions
))
{
return
res
// fixed by xxxxxx (mp properties)
function
extractPropertiesFromVNodeData
(
data
,
Ctor
,
res
,
context
)
{
var
propOptions
=
Ctor
.
options
.
mpOptions
&&
Ctor
.
options
.
mpOptions
.
properties
;
if
(
isUndef
(
propOptions
))
{
return
res
}
var
externalClasses
=
Ctor
.
options
.
mpOptions
.
externalClasses
||
[];
var
externalClasses
=
Ctor
.
options
.
mpOptions
.
externalClasses
||
[];
var
attrs
=
data
.
attrs
;
var
props
=
data
.
props
;
if
(
isDef
(
attrs
)
||
isDef
(
props
))
{
for
(
var
key
in
propOptions
)
{
var
props
=
data
.
props
;
if
(
isDef
(
attrs
)
||
isDef
(
props
))
{
for
(
var
key
in
propOptions
)
{
var
altKey
=
hyphenate
(
key
);
var
result
=
checkProp
(
res
,
props
,
key
,
altKey
,
true
)
||
checkProp
(
res
,
attrs
,
key
,
altKey
,
false
);
...
...
@@ -1842,10 +1842,10 @@ function extractPropertiesFromVNodeData(data, Ctor, res, context) {
)
{
// 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)
res
[
key
]
=
context
[
camelize
(
res
[
key
])];
}
}
}
return
res
}
}
}
return
res
}
function
extractPropsFromVNodeData
(
...
...
@@ -4745,464 +4745,464 @@ Object.defineProperty(Vue, 'FunctionalRenderContext', {
Vue
.
version
=
'
2.6.11
'
;
var
nextNodeRef
=
1
;
function
uniqueId
()
{
return
(
nextNodeRef
++
).
toString
()
}
var
Node
=
function
Node
()
{
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
children
=
[];
this
.
pureChildren
=
[];
this
.
parentNode
=
null
;
this
.
nextSibling
=
null
;
this
.
previousSibling
=
null
;
};
Node
.
prototype
.
destroy
=
function
destroy
()
{
this
.
_$vd
&&
this
.
_$vd
.
removeElement
(
this
);
this
.
children
.
forEach
(
function
(
child
)
{
child
.
destroy
();
});
var
nextNodeRef
=
1
;
function
uniqueId
()
{
return
(
nextNodeRef
++
).
toString
()
}
var
Node
=
function
Node
()
{
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
children
=
[];
this
.
pureChildren
=
[];
this
.
parentNode
=
null
;
this
.
nextSibling
=
null
;
this
.
previousSibling
=
null
;
};
Node
.
prototype
.
destroy
=
function
destroy
()
{
this
.
_$vd
&&
this
.
_$vd
.
removeElement
(
this
);
this
.
children
.
forEach
(
function
(
child
)
{
child
.
destroy
();
});
};
var
Comment
=
/*@__PURE__*/
(
function
(
Node$$1
)
{
function
Comment
(
value
)
{
Node$$1
.
call
(
this
);
this
.
nodeType
=
8
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
'
comment
'
;
this
.
value
=
value
;
this
.
children
=
[];
this
.
pureChildren
=
[];
function
Comment
(
value
)
{
Node$$1
.
call
(
this
);
this
.
nodeType
=
8
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
'
comment
'
;
this
.
value
=
value
;
this
.
children
=
[];
this
.
pureChildren
=
[];
}
if
(
Node$$1
)
Comment
.
__proto__
=
Node$$1
;
Comment
.
prototype
=
Object
.
create
(
Node$$1
&&
Node$$1
.
prototype
);
Comment
.
prototype
.
constructor
=
Comment
;
Comment
.
prototype
.
toString
=
function
toString
()
{
return
'
<!--
'
+
this
.
value
+
'
-->
'
Comment
.
prototype
.
constructor
=
Comment
;
Comment
.
prototype
.
toString
=
function
toString
()
{
return
'
<!--
'
+
this
.
value
+
'
-->
'
};
return
Comment
;
}(
Node
));
function
appendBody
(
doc
,
node
,
before
)
{
var
documentElement
=
doc
.
documentElement
;
if
(
documentElement
.
pureChildren
.
length
>
0
||
node
.
parentNode
)
{
return
}
var
children
=
documentElement
.
children
;
var
beforeIndex
=
children
.
indexOf
(
before
);
if
(
beforeIndex
<
0
)
{
children
.
push
(
node
);
}
else
{
children
.
splice
(
beforeIndex
,
0
,
node
);
}
if
(
node
.
nodeType
===
1
)
{
if
(
node
.
role
===
'
body
'
)
{
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
node
.
parentNode
=
documentElement
;
linkParent
(
node
,
documentElement
);
}
else
{
node
.
children
.
forEach
(
function
(
child
)
{
child
.
parentNode
=
node
;
});
setBody
(
doc
,
node
);
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
linkParent
(
node
,
documentElement
);
}
documentElement
.
pureChildren
.
push
(
node
);
}
else
{
node
.
parentNode
=
documentElement
;
}
}
function
setBody
(
doc
,
el
)
{
el
.
role
=
'
body
'
;
el
.
depth
=
1
;
el
.
ref
=
'
_root
'
;
doc
.
body
=
el
;
}
function
linkParent
(
node
,
parent
)
{
node
.
parentNode
=
parent
;
if
(
parent
.
docId
)
{
node
.
docId
=
parent
.
docId
;
node
.
ownerDocument
=
parent
.
ownerDocument
;
node
.
depth
=
parent
.
depth
+
1
;
}
node
.
children
.
forEach
(
function
(
child
)
{
linkParent
(
child
,
node
);
});
}
function
nextElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
nextSibling
;
}
}
function
previousElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
previousSibling
;
}
}
function
insertIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
if
(
newIndex
<
0
)
{
newIndex
=
0
;
}
var
before
=
list
[
newIndex
-
1
];
var
after
=
list
[
newIndex
];
list
.
splice
(
newIndex
,
0
,
target
);
if
(
changeSibling
)
{
before
&&
(
before
.
nextSibling
=
target
);
target
.
previousSibling
=
before
;
target
.
nextSibling
=
after
;
after
&&
(
after
.
previousSibling
=
target
);
}
return
newIndex
}
function
moveIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
-
1
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
var
newIndexAfter
=
newIndex
;
if
(
index
<=
newIndex
)
{
newIndexAfter
=
newIndex
-
1
;
}
var
beforeNew
=
list
[
newIndexAfter
-
1
];
var
afterNew
=
list
[
newIndexAfter
];
list
.
splice
(
newIndexAfter
,
0
,
target
);
if
(
changeSibling
)
{
beforeNew
&&
(
beforeNew
.
nextSibling
=
target
);
target
.
previousSibling
=
beforeNew
;
target
.
nextSibling
=
afterNew
;
afterNew
&&
(
afterNew
.
previousSibling
=
target
);
}
if
(
index
===
newIndexAfter
)
{
return
-
1
}
return
newIndex
}
function
removeIndex
(
target
,
list
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
}
var
DEFAULT_TAG_NAME
=
'
view
'
;
function
appendBody
(
doc
,
node
,
before
)
{
var
documentElement
=
doc
.
documentElement
;
// fix append comment
if
(
(
documentElement
.
pureChildren
.
length
>
0
&&
node
.
nodeType
===
1
)
||
node
.
parentNode
)
{
return
}
var
children
=
documentElement
.
children
;
var
beforeIndex
=
children
.
indexOf
(
before
);
if
(
beforeIndex
<
0
)
{
children
.
push
(
node
);
}
else
{
children
.
splice
(
beforeIndex
,
0
,
node
);
}
if
(
node
.
nodeType
===
1
)
{
if
(
node
.
role
===
'
body
'
)
{
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
node
.
parentNode
=
documentElement
;
linkParent
(
node
,
documentElement
);
}
else
{
node
.
children
.
forEach
(
function
(
child
)
{
child
.
parentNode
=
node
;
});
setBody
(
doc
,
node
);
node
.
docId
=
doc
.
id
;
node
.
ownerDocument
=
doc
;
linkParent
(
node
,
documentElement
);
}
documentElement
.
pureChildren
.
push
(
node
);
}
else
{
node
.
parentNode
=
documentElement
;
}
}
function
setBody
(
doc
,
el
)
{
el
.
role
=
'
body
'
;
el
.
depth
=
1
;
el
.
ref
=
'
_root
'
;
doc
.
body
=
el
;
}
function
linkParent
(
node
,
parent
)
{
node
.
parentNode
=
parent
;
if
(
parent
.
docId
)
{
node
.
docId
=
parent
.
docId
;
node
.
ownerDocument
=
parent
.
ownerDocument
;
node
.
depth
=
parent
.
depth
+
1
;
}
node
.
children
.
forEach
(
function
(
child
)
{
linkParent
(
child
,
node
);
});
}
function
nextElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
nextSibling
;
}
}
function
previousElement
(
node
)
{
while
(
node
)
{
if
(
node
.
nodeType
===
1
)
{
return
node
}
node
=
node
.
previousSibling
;
}
}
function
insertIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
if
(
newIndex
<
0
)
{
newIndex
=
0
;
}
var
before
=
list
[
newIndex
-
1
];
var
after
=
list
[
newIndex
];
list
.
splice
(
newIndex
,
0
,
target
);
if
(
changeSibling
)
{
before
&&
(
before
.
nextSibling
=
target
);
target
.
previousSibling
=
before
;
target
.
nextSibling
=
after
;
after
&&
(
after
.
previousSibling
=
target
);
}
return
newIndex
}
function
moveIndex
(
target
,
list
,
newIndex
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
-
1
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
var
newIndexAfter
=
newIndex
;
if
(
index
<=
newIndex
)
{
newIndexAfter
=
newIndex
-
1
;
}
var
beforeNew
=
list
[
newIndexAfter
-
1
];
var
afterNew
=
list
[
newIndexAfter
];
list
.
splice
(
newIndexAfter
,
0
,
target
);
if
(
changeSibling
)
{
beforeNew
&&
(
beforeNew
.
nextSibling
=
target
);
target
.
previousSibling
=
beforeNew
;
target
.
nextSibling
=
afterNew
;
afterNew
&&
(
afterNew
.
previousSibling
=
target
);
}
if
(
index
===
newIndexAfter
)
{
return
-
1
}
return
newIndex
}
function
removeIndex
(
target
,
list
,
changeSibling
)
{
var
index
=
list
.
indexOf
(
target
);
if
(
index
<
0
)
{
return
}
if
(
changeSibling
)
{
var
before
=
list
[
index
-
1
];
var
after
=
list
[
index
+
1
];
before
&&
(
before
.
nextSibling
=
after
);
after
&&
(
after
.
previousSibling
=
before
);
}
list
.
splice
(
index
,
1
);
}
var
DEFAULT_TAG_NAME
=
'
view
'
;
var
Element
=
/*@__PURE__*/
(
function
(
Node$$1
)
{
function
Element
(
type
)
{
if
(
type
===
void
0
)
type
=
DEFAULT_TAG_NAME
;
Node$$1
.
call
(
this
);
this
.
nodeType
=
1
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
type
;
this
.
attr
=
{};
this
.
events
=
{};
this
.
children
=
[];
this
.
pureChildren
=
[];
Node$$1
.
call
(
this
);
this
.
nodeType
=
1
;
this
.
nodeId
=
uniqueId
();
this
.
ref
=
this
.
nodeId
;
this
.
type
=
type
;
this
.
attr
=
{};
this
.
events
=
{};
this
.
children
=
[];
this
.
pureChildren
=
[];
}
if
(
Node$$1
)
Element
.
__proto__
=
Node$$1
;
Element
.
prototype
=
Object
.
create
(
Node$$1
&&
Node$$1
.
prototype
);
Element
.
prototype
.
constructor
=
Element
;
Element
.
prototype
.
setAttribute
=
function
setAttribute
(
key
,
value
)
{
if
(
key
===
'
cid
'
)
{
this
.
cid
=
value
;
}
else
if
(
key
===
'
nid
'
)
{
this
.
nid
=
value
;
}
};
Element
.
prototype
.
dispatchEvent
=
function
dispatchEvent
(
name
,
target
)
{
var
handlers
=
this
.
events
[
name
];
if
(
!
handlers
)
{
return
}
handlers
.
forEach
(
function
(
handler
)
{
handler
(
target
);
});
};
Element
.
prototype
.
addEventListener
=
function
addEventListener
(
name
,
handler
)
{
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
addEventListener(
"
+
name
+
"
) not found
"
))
}
(
this
.
events
[
name
]
||
(
this
.
events
[
name
]
=
[])).
push
(
handler
);
this
.
_$vd
.
addElement
(
this
);
};
Element
.
prototype
.
constructor
=
Element
;
Element
.
prototype
.
setAttribute
=
function
setAttribute
(
key
,
value
)
{
if
(
key
===
'
cid
'
)
{
this
.
cid
=
value
;
}
else
if
(
key
===
'
nid
'
)
{
this
.
nid
=
value
;
}
};
Element
.
prototype
.
dispatchEvent
=
function
dispatchEvent
(
name
,
target
)
{
var
handlers
=
this
.
events
[
name
];
if
(
!
handlers
)
{
return
}
handlers
.
forEach
(
function
(
handler
)
{
handler
(
target
);
});
};
Element
.
prototype
.
addEventListener
=
function
addEventListener
(
name
,
handler
)
{
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
addEventListener(
"
+
name
+
"
) not found
"
))
}
(
this
.
events
[
name
]
||
(
this
.
events
[
name
]
=
[])).
push
(
handler
);
this
.
_$vd
.
addElement
(
this
);
};
Element
.
prototype
.
removeEventListener
=
function
removeEventListener
(
name
,
handler
)
{
var
this
$1
=
this
;
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) not found
"
))
}
var
isRemoved
=
false
;
if
(
this
.
events
[
name
])
{
var
handlerIndex
=
this
.
events
[
name
].
indexOf
(
handler
);
if
(
handlerIndex
!==
-
1
)
{
this
.
events
[
name
].
splice
(
handlerIndex
,
1
);
isRemoved
=
true
;
}
}
if
(
!
isRemoved
)
{
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) handler not found
"
));
}
Object
.
keys
(
this
.
events
).
every
(
function
(
eventType
)
{
return
this
$1
.
events
[
eventType
].
length
===
0
;
})
&&
this
.
_$vd
.
removeElement
(
this
);
};
Element
.
prototype
.
appendChild
=
function
appendChild
(
node
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("production" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Append <${node.type}> to <${this.type}> (${this.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
else
{
// if ("production" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Move <${node.type}> to ${this.children.length} of <${this.type}> (${this.ref}).`)
// }
moveIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertBefore
=
function
insertBefore
(
node
,
before
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
before
||
(
node
.
nextSibling
&&
node
.
nextSibling
===
before
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("production" !== 'production') {
// console.log(`[insertBefore](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), before (${before.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore
=
nextElement
(
before
);
insertIndex
(
node
,
this
.
pureChildren
,
pureBefore
?
this
.
pureChildren
.
indexOf
(
pureBefore
)
:
this
.
pureChildren
.
length
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore$1
=
nextElement
(
before
);
moveIndex
(
node
,
this
.
pureChildren
,
pureBefore$1
?
this
.
pureChildren
.
indexOf
(
pureBefore$1
)
:
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertAfter
=
function
insertAfter
(
node
,
after
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
after
||
(
node
.
previousSibling
&&
node
.
previousSibling
===
after
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("production" !== 'production') {
// console.log(`[insertAfter](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), after (${after.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
};
Element
.
prototype
.
removeChild
=
function
removeChild
(
node
,
preserved
)
{
if
(
node
.
parentNode
)
{
removeIndex
(
node
,
this
.
children
,
true
);
if
(
node
.
nodeType
===
1
)
{
// if ("production" !== 'production') {
// console.log(`[removeChild](${this.docId},${node.type},${node.ref}) ` +
// `Remove <${node.type}> from <${this.type}> (${this.ref}).`)
// }
removeIndex
(
node
,
this
.
pureChildren
);
}
}
if
(
!
preserved
)
{
node
.
destroy
();
}
};
Element
.
prototype
.
clear
=
function
clear
()
{
this
.
children
.
forEach
(
function
(
node
)
{
node
.
destroy
();
});
this
.
children
.
length
=
0
;
this
.
pureChildren
.
length
=
0
;
};
Element
.
prototype
.
toString
=
function
toString
()
{
return
'
<
'
+
this
.
type
+
'
attr=
'
+
JSON
.
stringify
(
this
.
attr
)
+
'
style=
'
+
JSON
.
stringify
(
this
.
toStyle
())
+
'
>
'
+
this
.
pureChildren
.
map
(
function
(
child
)
{
return
child
.
toString
();
}).
join
(
''
)
+
'
</
'
+
this
.
type
+
'
>
'
if
(
this
.
cid
===
''
||
this
.
nid
===
''
)
{
return
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) not found
"
))
}
var
isRemoved
=
false
;
if
(
this
.
events
[
name
])
{
var
handlerIndex
=
this
.
events
[
name
].
indexOf
(
handler
);
if
(
handlerIndex
!==
-
1
)
{
this
.
events
[
name
].
splice
(
handlerIndex
,
1
);
isRemoved
=
true
;
}
}
if
(
!
isRemoved
)
{
console
.
error
((
"
cid=
"
+
(
this
.
cid
)
+
"
,nid=
"
+
(
this
.
nid
)
+
"
removeEventListener(
"
+
name
+
"
) handler not found
"
));
}
Object
.
keys
(
this
.
events
).
every
(
function
(
eventType
)
{
return
this
$1
.
events
[
eventType
].
length
===
0
;
})
&&
this
.
_$vd
.
removeElement
(
this
);
};
Element
.
prototype
.
appendChild
=
function
appendChild
(
node
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("production" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Append <${node.type}> to <${this.type}> (${this.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
else
{
// if ("production" !== 'production') {
// console.log(`[appendChild](${this.docId},${node.type},${node.ref}) ` +
// `Move <${node.type}> to ${this.children.length} of <${this.type}> (${this.ref}).`)
// }
moveIndex
(
node
,
this
.
children
,
this
.
children
.
length
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertBefore
=
function
insertBefore
(
node
,
before
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
before
||
(
node
.
nextSibling
&&
node
.
nextSibling
===
before
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("production" !== 'production') {
// console.log(`[insertBefore](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), before (${before.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore
=
nextElement
(
before
);
insertIndex
(
node
,
this
.
pureChildren
,
pureBefore
?
this
.
pureChildren
.
indexOf
(
pureBefore
)
:
this
.
pureChildren
.
length
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
before
),
true
);
if
(
node
.
nodeType
===
1
)
{
var
pureBefore$1
=
nextElement
(
before
);
moveIndex
(
node
,
this
.
pureChildren
,
pureBefore$1
?
this
.
pureChildren
.
indexOf
(
pureBefore$1
)
:
this
.
pureChildren
.
length
);
}
}
};
Element
.
prototype
.
insertAfter
=
function
insertAfter
(
node
,
after
)
{
if
(
node
.
parentNode
&&
node
.
parentNode
!==
this
)
{
return
}
if
(
node
===
after
||
(
node
.
previousSibling
&&
node
.
previousSibling
===
after
))
{
return
}
if
(
!
node
.
parentNode
)
{
// if ("production" !== 'production') {
// console.log(`[insertAfter](${this.docId},${node.type},${node.ref}) ` +
// `Insert <${node.type}> to <${this.type}> (${this.ref}), after (${after.ref}).`)
// }
linkParent
(
node
,
this
);
insertIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
insertIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
else
{
moveIndex
(
node
,
this
.
children
,
this
.
children
.
indexOf
(
after
)
+
1
,
true
);
if
(
node
.
nodeType
===
1
)
{
moveIndex
(
node
,
this
.
pureChildren
,
this
.
pureChildren
.
indexOf
(
previousElement
(
after
))
+
1
);
}
}
};
Element
.
prototype
.
removeChild
=
function
removeChild
(
node
,
preserved
)
{
if
(
node
.
parentNode
)
{
removeIndex
(
node
,
this
.
children
,
true
);
if
(
node
.
nodeType
===
1
)
{
// if ("production" !== 'production') {
// console.log(`[removeChild](${this.docId},${node.type},${node.ref}) ` +
// `Remove <${node.type}> from <${this.type}> (${this.ref}).`)
// }
removeIndex
(
node
,
this
.
pureChildren
);
}
}
if
(
!
preserved
)
{
node
.
destroy
();
}
};
Element
.
prototype
.
clear
=
function
clear
()
{
this
.
children
.
forEach
(
function
(
node
)
{
node
.
destroy
();
});
this
.
children
.
length
=
0
;
this
.
pureChildren
.
length
=
0
;
};
Element
.
prototype
.
toString
=
function
toString
()
{
return
'
<
'
+
this
.
type
+
'
attr=
'
+
JSON
.
stringify
(
this
.
attr
)
+
'
style=
'
+
JSON
.
stringify
(
this
.
toStyle
())
+
'
>
'
+
this
.
pureChildren
.
map
(
function
(
child
)
{
return
child
.
toString
();
}).
join
(
''
)
+
'
</
'
+
this
.
type
+
'
>
'
};
return
Element
;
}(
Node
));
var
Document
=
function
Document
(
id
,
url
)
{
this
.
id
=
id
?
id
.
toString
()
:
''
;
this
.
URL
=
url
;
this
.
createDocumentElement
();
};
var
Document
=
function
Document
(
id
,
url
)
{
this
.
id
=
id
?
id
.
toString
()
:
''
;
this
.
URL
=
url
;
this
.
createDocumentElement
();
};
Document
.
prototype
.
createDocumentElement
=
function
createDocumentElement
()
{
var
this
$1
=
this
;
if
(
!
this
.
documentElement
)
{
var
el
=
new
Element
(
'
document
'
);
el
.
docId
=
this
.
id
;
el
.
ownerDocument
=
this
;
el
.
role
=
'
documentElement
'
;
el
.
depth
=
0
;
el
.
ref
=
'
_documentElement
'
;
this
.
documentElement
=
el
;
Object
.
defineProperty
(
el
,
'
appendChild
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
)
{
appendBody
(
this
$1
,
node
);
}
});
Object
.
defineProperty
(
el
,
'
insertBefore
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
,
before
)
{
appendBody
(
this
$1
,
node
,
before
);
}
});
// if ("production" !== 'production') {
// console.log(`Create document element (id: "${el.docId}", ref: "${el.ref}")`)
// }
}
return
this
.
documentElement
};
Document
.
prototype
.
createBody
=
function
createBody
(
type
)
{
if
(
!
this
.
body
)
{
var
el
=
new
Element
(
type
);
setBody
(
this
,
el
);
// if ("production" !== 'production') {
// console.log(`[createBody](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
}
return
this
.
body
};
Document
.
prototype
.
createElement
=
function
createElement
(
tagName
)
{
var
el
=
new
Element
(
tagName
);
// if ("production" !== 'production') {
// console.log(`[createElement](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
return
el
};
Document
.
prototype
.
createComment
=
function
createComment
(
text
)
{
return
new
Comment
(
text
)
};
Document
.
prototype
.
destroy
=
function
destroy
()
{
// if ("production" !== 'production') {
// console.log(`[destroy](${this.id},document,${this.ref}) ` +
// `Destroy document (id: "${this.id}", URL: "${this.URL}")`)
// }
if
(
!
this
.
documentElement
)
{
var
el
=
new
Element
(
'
document
'
);
el
.
docId
=
this
.
id
;
el
.
ownerDocument
=
this
;
el
.
role
=
'
documentElement
'
;
el
.
depth
=
0
;
el
.
ref
=
'
_documentElement
'
;
this
.
documentElement
=
el
;
Object
.
defineProperty
(
el
,
'
appendChild
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
)
{
appendBody
(
this
$1
,
node
);
}
});
Object
.
defineProperty
(
el
,
'
insertBefore
'
,
{
configurable
:
true
,
enumerable
:
true
,
writable
:
true
,
value
:
function
(
node
,
before
)
{
appendBody
(
this
$1
,
node
,
before
);
}
});
// if ("production" !== 'production') {
// console.log(`Create document element (id: "${el.docId}", ref: "${el.ref}")`)
// }
}
return
this
.
documentElement
};
Document
.
prototype
.
createBody
=
function
createBody
(
type
)
{
if
(
!
this
.
body
)
{
var
el
=
new
Element
(
type
);
setBody
(
this
,
el
);
// if ("production" !== 'production') {
// console.log(`[createBody](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
}
return
this
.
body
};
Document
.
prototype
.
createElement
=
function
createElement
(
tagName
)
{
var
el
=
new
Element
(
tagName
);
// if ("production" !== 'production') {
// console.log(`[createElement](${this.id},${el.type},${el.ref}) ` +
// `(${JSON.stringify(el.toJSON(true))}).`)
// }
return
el
};
Document
.
prototype
.
createComment
=
function
createComment
(
text
)
{
return
new
Comment
(
text
)
};
Document
.
prototype
.
destroy
=
function
destroy
()
{
// if ("production" !== 'production') {
// console.log(`[destroy](${this.id},document,${this.ref}) ` +
// `Destroy document (id: "${this.id}", URL: "${this.URL}")`)
// }
};
/* */
...
...
@@ -5255,48 +5255,48 @@ function isUnknownElement () {
/* */
function
createElement$1
(
tagName
)
{
return
new
Element
(
tagName
)
}
function
createElementNS
(
namespace
,
tagName
)
{
return
new
Element
(
namespace
+
'
:
'
+
tagName
)
}
function
createTextNode
()
{
return
new
Element
(
'
text
'
)
}
function
createComment
(
text
)
{
return
new
Comment
(
text
)
}
function
insertBefore
(
node
,
target
,
before
)
{
node
.
insertBefore
(
target
,
before
);
}
function
removeChild
(
node
,
child
)
{
node
.
removeChild
(
child
);
}
function
appendChild
(
node
,
child
)
{
node
.
appendChild
(
child
);
}
function
parentNode
(
node
)
{
return
node
.
parentNode
}
function
nextSibling
(
node
)
{
return
node
.
nextSibling
}
function
tagName
(
node
)
{
return
node
.
type
}
function
setTextContent
()
{}
function
createElement$1
(
tagName
)
{
return
new
Element
(
tagName
)
}
function
createElementNS
(
namespace
,
tagName
)
{
return
new
Element
(
namespace
+
'
:
'
+
tagName
)
}
function
createTextNode
()
{
return
new
Element
(
'
text
'
)
}
function
createComment
(
text
)
{
return
new
Comment
(
text
)
}
function
insertBefore
(
node
,
target
,
before
)
{
node
.
insertBefore
(
target
,
before
);
}
function
removeChild
(
node
,
child
)
{
node
.
removeChild
(
child
);
}
function
appendChild
(
node
,
child
)
{
node
.
appendChild
(
child
);
}
function
parentNode
(
node
)
{
return
node
.
parentNode
}
function
nextSibling
(
node
)
{
return
node
.
nextSibling
}
function
tagName
(
node
)
{
return
node
.
type
}
function
setTextContent
()
{}
function
setStyleScope
()
{}
var
nodeOps
=
/*#__PURE__*/
Object
.
freeze
({
...
...
@@ -6178,91 +6178,91 @@ var baseModules = [
directives
];
/* */
function
updateWxsProps
(
oldVnode
,
vnode
)
{
if
(
isUndef
(
oldVnode
.
data
.
wxsProps
)
&&
isUndef
(
vnode
.
data
.
wxsProps
)
)
{
return
}
var
oldWxsWatches
=
oldVnode
.
$wxsWatches
;
var
wxsPropsKey
=
Object
.
keys
(
vnode
.
data
.
wxsProps
);
if
(
!
oldWxsWatches
&&
!
wxsPropsKey
.
length
)
{
return
}
if
(
!
oldWxsWatches
)
{
oldWxsWatches
=
{};
}
var
wxsProps
=
vnode
.
data
.
wxsProps
;
vnode
.
$wxsWatches
=
{};
Object
.
keys
(
wxsProps
).
forEach
(
function
(
prop
)
{
var
watchProp
=
wxsProps
[
prop
];
vnode
.
$wxsWatches
[
prop
]
=
oldWxsWatches
[
prop
]
||
vnode
.
context
.
$watch
(
watchProp
,
function
()
{
this
.
$forceUpdate
();
},
{
immediate
:
true
,
// 当 prop 的值被设置 WXS 函数就会触发,而不只是值发生改变,所以在页面初始化的时候会调用一次 WxsPropObserver 的函数
deep
:
true
});
});
Object
.
keys
(
oldWxsWatches
).
forEach
(
function
(
oldName
)
{
if
(
!
vnode
.
$wxsWatches
[
oldName
])
{
oldWxsWatches
[
oldName
]();
delete
oldWxsWatches
[
oldName
];
}
});
}
var
wxs
=
{
create
:
updateWxsProps
,
update
:
updateWxsProps
/* */
function
updateWxsProps
(
oldVnode
,
vnode
)
{
if
(
isUndef
(
oldVnode
.
data
.
wxsProps
)
&&
isUndef
(
vnode
.
data
.
wxsProps
)
)
{
return
}
var
oldWxsWatches
=
oldVnode
.
$wxsWatches
;
var
wxsPropsKey
=
Object
.
keys
(
vnode
.
data
.
wxsProps
);
if
(
!
oldWxsWatches
&&
!
wxsPropsKey
.
length
)
{
return
}
if
(
!
oldWxsWatches
)
{
oldWxsWatches
=
{};
}
var
wxsProps
=
vnode
.
data
.
wxsProps
;
vnode
.
$wxsWatches
=
{};
Object
.
keys
(
wxsProps
).
forEach
(
function
(
prop
)
{
var
watchProp
=
wxsProps
[
prop
];
vnode
.
$wxsWatches
[
prop
]
=
oldWxsWatches
[
prop
]
||
vnode
.
context
.
$watch
(
watchProp
,
function
()
{
this
.
$forceUpdate
();
},
{
immediate
:
true
,
// 当 prop 的值被设置 WXS 函数就会触发,而不只是值发生改变,所以在页面初始化的时候会调用一次 WxsPropObserver 的函数
deep
:
true
});
});
Object
.
keys
(
oldWxsWatches
).
forEach
(
function
(
oldName
)
{
if
(
!
vnode
.
$wxsWatches
[
oldName
])
{
oldWxsWatches
[
oldName
]();
delete
oldWxsWatches
[
oldName
];
}
});
}
var
wxs
=
{
create
:
updateWxsProps
,
update
:
updateWxsProps
};
function
parseDataset
(
attrs
)
{
var
dataset
=
Object
.
create
(
null
);
Object
.
keys
(
attrs
).
forEach
(
function
(
name
)
{
if
(
name
.
indexOf
(
'
data-
'
)
===
0
)
{
var
camelizeName
=
camelize
(
name
.
replace
(
'
data-
'
,
''
));
try
{
dataset
[
camelizeName
]
=
JSON
.
parse
(
attrs
[
name
]);
}
catch
(
e
)
{
dataset
[
camelizeName
]
=
attrs
[
name
];
}
}
});
return
dataset
}
function
updateAttrs
(
oldVnode
,
vnode
)
{
var
attrs
=
vnode
.
data
.
attrs
;
if
(
isUndef
(
attrs
))
{
return
}
var
id
=
attrs
[
'
_i
'
];
if
(
isUndef
(
id
))
{
return
}
var
elm
=
vnode
.
elm
;
elm
.
dataset
=
Object
.
assign
(
elm
.
dataset
||
{},
parseDataset
(
attrs
));
}
var
attrs
=
{
create
:
updateAttrs
,
update
:
updateAttrs
function
parseDataset
(
attrs
)
{
var
dataset
=
Object
.
create
(
null
);
Object
.
keys
(
attrs
).
forEach
(
function
(
name
)
{
if
(
name
.
indexOf
(
'
data-
'
)
===
0
)
{
var
camelizeName
=
camelize
(
name
.
replace
(
'
data-
'
,
''
));
try
{
dataset
[
camelizeName
]
=
JSON
.
parse
(
attrs
[
name
]);
}
catch
(
e
)
{
dataset
[
camelizeName
]
=
attrs
[
name
];
}
}
});
return
dataset
}
function
updateAttrs
(
oldVnode
,
vnode
)
{
var
attrs
=
vnode
.
data
.
attrs
;
if
(
isUndef
(
attrs
))
{
return
}
var
id
=
attrs
[
'
_i
'
];
if
(
isUndef
(
id
))
{
return
}
var
elm
=
vnode
.
elm
;
elm
.
dataset
=
Object
.
assign
(
elm
.
dataset
||
{},
parseDataset
(
attrs
));
}
var
attrs
=
{
create
:
updateAttrs
,
update
:
updateAttrs
};
/* */
...
...
@@ -6343,16 +6343,16 @@ function updateDOMListeners (oldVnode, vnode) {
target$1
.
_$vd
=
vnode
.
context
.
_$vd
;
var
context
=
vnode
.
context
;
// 存储事件标记
var
nid
=
(
vnode
.
data
.
attrs
||
{})[
'
_i
'
];
var
parent
=
vnode
.
parent
;
while
(
parent
&&
parent
.
componentInstance
)
{
// 使用组件外壳节点id
var
parentId
=
parent
.
data
.
attrs
&&
parent
.
data
.
attrs
[
'
_i
'
];
isDef
(
parentId
)
&&
(
nid
=
'
r-
'
+
parentId
);
parent
=
parent
.
parent
;
}
target$1
.
setAttribute
(
'
nid
'
,
String
(
nid
));
var
nid
=
(
vnode
.
data
.
attrs
||
{})[
'
_i
'
];
var
parent
=
vnode
.
parent
;
while
(
parent
&&
parent
.
componentInstance
)
{
// 使用组件外壳节点id
var
parentId
=
parent
.
data
.
attrs
&&
parent
.
data
.
attrs
[
'
_i
'
];
isDef
(
parentId
)
&&
(
nid
=
'
r-
'
+
parentId
);
parent
=
parent
.
parent
;
}
target$1
.
setAttribute
(
'
nid
'
,
String
(
nid
));
target$1
.
setAttribute
(
'
cid
'
,
context
.
_$id
);
normalizeEvents
(
on
);
...
...
@@ -6367,8 +6367,8 @@ var events = {
var
platformModules
=
[
wxs
,
attrs
,
events
attrs
,
events
];
/* */
...
...
@@ -6383,9 +6383,9 @@ var model$1 = {};
var
show
=
{};
var
platformDirectives
=
{
model
:
model$1
,
show
:
show
var
platformDirectives
=
{
model
:
model$1
,
show
:
show
};
var
platformComponents
=
{
...
...
@@ -6456,35 +6456,35 @@ function normalizeStyleBinding (bindingStyle) {
return
bindingStyle
}
function
callHook$2
(
hook
,
args
)
{
var
vm
=
this
;
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget
();
var
handlers
=
vm
.
$options
[
hook
];
var
info
=
hook
+
"
hook
"
;
var
ret
;
if
(
handlers
)
{
for
(
var
i
=
0
,
j
=
handlers
.
length
;
i
<
j
;
i
++
)
{
ret
=
invokeWithErrorHandling
(
handlers
[
i
],
vm
,
args
?
[
args
]
:
null
,
vm
,
info
);
}
}
if
(
vm
.
_hasHookEvent
)
{
vm
.
$emit
(
'
hook:
'
+
hook
,
args
);
}
popTarget
();
return
ret
}
var
plugin
=
{
install
:
function
install
(
Vue
)
{
function
callHook$2
(
hook
,
args
)
{
var
vm
=
this
;
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget
();
var
handlers
=
vm
.
$options
[
hook
];
var
info
=
hook
+
"
hook
"
;
var
ret
;
if
(
handlers
)
{
for
(
var
i
=
0
,
j
=
handlers
.
length
;
i
<
j
;
i
++
)
{
ret
=
invokeWithErrorHandling
(
handlers
[
i
],
vm
,
args
?
[
args
]
:
null
,
vm
,
info
);
}
}
if
(
vm
.
_hasHookEvent
)
{
vm
.
$emit
(
'
hook:
'
+
hook
,
args
);
}
popTarget
();
return
ret
}
var
plugin
=
{
install
:
function
install
(
Vue
)
{
Vue
.
prototype
.
_$queue
=
queue
;
Vue
.
prototype
.
__call_hook
=
callHook$2
;
// 运行时需要格式化 class,style
Vue
.
prototype
.
_$stringifyClass
=
stringifyClass
;
Vue
.
prototype
.
_$normalizeStyleBinding
=
normalizeStyleBinding
;
}
Vue
.
prototype
.
__call_hook
=
callHook$2
;
// 运行时需要格式化 class,style
Vue
.
prototype
.
_$stringifyClass
=
stringifyClass
;
Vue
.
prototype
.
_$normalizeStyleBinding
=
normalizeStyleBinding
;
}
};
/* */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录