Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Velpro187
uni-app
提交
1af0b60b
U
uni-app
项目概览
Velpro187
/
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,发现更多精彩内容 >>
提交
1af0b60b
编写于
7月 13, 2021
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(mp): 修复相同作用域插槽嵌套时在新版作用域编译模式编译错误的问题
上级
5b79464c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
2 deletion
+11
-2
packages/uni-template-compiler/__tests__/compiler-mp-weixin.spec.js
...ni-template-compiler/__tests__/compiler-mp-weixin.spec.js
+8
-0
packages/uni-template-compiler/lib/script/traverse/resolve-scoped-slots.js
...late-compiler/lib/script/traverse/resolve-scoped-slots.js
+3
-2
未找到文件。
packages/uni-template-compiler/__tests__/compiler-mp-weixin.spec.js
浏览文件 @
1af0b60b
...
...
@@ -228,6 +228,14 @@ describe('mp:compiler-mp-weixin', () => {
scopedSlotsCompiler
:
'
augmented
'
}
)
assertCodegen
(
'
<my-component><template v-slot="{item}">{{item}}<my-component><template v-slot="{item}">{{item}}<template></my-component><template></my-component>
'
,
'
<my-component vue-id="551070e6-1" bind:__l="__l" vue-slots="{{[
\'
default
\'
]}}"><block><block wx:if="{{$root.m0}}">{{$root.m1}}<my-component vue-id="{{(
\'
551070e6-2
\'
)+
\'
,
\'
+(
\'
551070e6-1
\'
)}}" bind:__l="__l" vue-slots="{{[
\'
default
\'
]}}"><block><block wx:if="{{$root.m2}}">{{$root.m3}}</block></block></my-component></block></block></my-component>
'
,
'
with(this){var m0=$hasScopedSlotsParams("551070e6-1");var m1=m0?$getScopedSlotsParams("551070e6-1","default","item"):null;var m2=$hasScopedSlotsParams("551070e6-2");var m3=m2?$getScopedSlotsParams("551070e6-2","default","item"):null;$mp.data=Object.assign({},{$root:{m0:m0,m1:m1,m2:m2,m3:m3}})}
'
,
{
scopedSlotsCompiler
:
'
augmented
'
}
)
})
it
(
'
generate scoped slot
'
,
()
=>
{
...
...
packages/uni-template-compiler/lib/script/traverse/resolve-scoped-slots.js
浏览文件 @
1af0b60b
...
...
@@ -26,11 +26,12 @@ function needSlotMode (path, ids) {
function
replaceId
(
path
,
ids
)
{
let
replaced
const
fnPath
=
path
.
parentPath
path
.
traverse
({
noScope
:
tru
e
,
noScope
:
fals
e
,
Identifier
(
path
)
{
const
name
=
path
.
node
.
name
if
(
name
in
ids
&&
path
.
key
!==
'
key
'
&&
(
path
.
key
!==
'
property
'
||
path
.
parent
.
computed
))
{
if
(
name
in
ids
&&
path
.
key
!==
'
key
'
&&
(
path
.
key
!==
'
property
'
||
path
.
parent
.
computed
)
&&
path
.
scope
.
path
===
fnPath
)
{
path
.
replaceWith
(
ids
[
name
])
replaced
=
true
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录