File tree Expand file tree Collapse file tree 5 files changed +31
-5
lines changed
src/compiler/compile/render_dom/wrappers/InlineComponent
test/runtime/samples/component-slot-let-in-slot Expand file tree Collapse file tree 5 files changed +31
-5
lines changed Original file line number Diff line number Diff line change @@ -182,11 +182,9 @@ export default class InlineComponentWrapper extends Wrapper {
182
182
} ) ;
183
183
} ) ;
184
184
185
- const non_let_dependencies = Array . from ( fragment_dependencies ) . filter ( name => ! this . node . scope . is_let ( name ) ) ;
186
-
187
185
const dynamic_attributes = this . node . attributes . filter ( a => a . get_dependencies ( ) . length > 0 ) ;
188
186
189
- if ( ! uses_spread && ( dynamic_attributes . length > 0 || this . node . bindings . length > 0 || non_let_dependencies . length > 0 ) ) {
187
+ if ( ! uses_spread && ( dynamic_attributes . length > 0 || this . node . bindings . length > 0 || fragment_dependencies . size > 0 ) ) {
190
188
updates . push ( b `const ${ name_changes } = {};` ) ;
191
189
}
192
190
@@ -266,9 +264,9 @@ export default class InlineComponentWrapper extends Wrapper {
266
264
}
267
265
}
268
266
269
- if ( non_let_dependencies . length > 0 ) {
267
+ if ( fragment_dependencies . size > 0 ) {
270
268
updates . push ( b `
271
- if (${ renderer . dirty ( non_let_dependencies ) } ) {
269
+ if (${ renderer . dirty ( Array . from ( fragment_dependencies ) ) } ) {
272
270
${ name_changes } .$$scope = { dirty: #dirty, ctx: #ctx };
273
271
}` ) ;
274
272
}
Original file line number Diff line number Diff line change
1
+ <slot />
Original file line number Diff line number Diff line change
1
+ <script >
2
+ export let prop
3
+ </script >
4
+
5
+ <slot value ={prop } />
Original file line number Diff line number Diff line change
1
+ export default {
2
+ props : {
3
+ prop : 'a' ,
4
+ } ,
5
+
6
+ html : 'a' ,
7
+
8
+ test ( { assert, component, target } ) {
9
+ component . prop = 'b' ;
10
+ assert . htmlEqual ( target . innerHTML , 'b' ) ;
11
+ }
12
+ } ;
Original file line number Diff line number Diff line change
1
+ <script >
2
+ import Outer from ' ./Outer.svelte'
3
+ import Inner from ' ./Inner.svelte'
4
+
5
+ export let prop
6
+ </script >
7
+
8
+ <Outer {prop } let:value >
9
+ <Inner >{value }</Inner >
10
+ </Outer >
You can’t perform that action at this time.
0 commit comments