@@ -3,7 +3,7 @@ import deindent from '../utils/deindent.js';
33export default {
44 enter ( generator , node ) {
55 const name = generator . getUniqueName ( `eachBlock` ) ;
6- const renderer = generator . getUniqueName ( `renderEachBlock ` ) ;
6+ const renderer = generator . getUniqueName ( `EachBlock ` ) ;
77 const elseName = `${ name } _else` ;
88 const iterations = `${ name } _iterations` ;
99 const renderElse = `${ renderer } _else` ;
@@ -22,33 +22,33 @@ export default {
2222
2323 generator . current . initStatements . push ( deindent `
2424 var ${ name } _value = ${ snippet } ;
25- var ${ iterations } = [];
26- ${ node . else ? `var ${ elseName } = null;` : '' }
25+ this. ${ iterations } = [];
26+ ${ node . else ? `this. ${ elseName } = null;` : '' }
2727
2828 for ( var ${ i } = 0; ${ i } < ${ name } _value.length; ${ i } += 1 ) {
29- ${ iterations } [${ i } ] = ${ renderer } ( ${ params } , ${ listName } , ${ listName } [${ i } ], ${ i } , component );
30- ${ ! isToplevel ? `${ iterations } [${ i } ].mount( ${ anchor } .parentNode, ${ anchor } );` : '' }
29+ this. ${ iterations } [${ i } ] = new ${ renderer } ( ${ params } , ${ listName } , ${ listName } [${ i } ], ${ i } , component );
30+ ${ ! isToplevel ? `this. ${ iterations } [${ i } ].mount( this. ${ anchor } .parentNode, this. ${ anchor } );` : '' }
3131 }
3232 ` ) ;
3333 if ( node . else ) {
3434 generator . current . initStatements . push ( deindent `
3535 if ( !${ name } _value.length ) {
36- ${ elseName } = ${ renderElse } ( ${ params } , component );
37- ${ ! isToplevel ? `${ elseName } .mount( ${ anchor } .parentNode, ${ anchor } );` : '' }
36+ this. ${ elseName } = new ${ renderElse } ( ${ params } , component );
37+ ${ ! isToplevel ? `${ elseName } .mount( this. ${ anchor } .parentNode, this. ${ anchor } );` : '' }
3838 }
3939 ` ) ;
4040 }
4141
4242 if ( isToplevel ) {
4343 generator . current . mountStatements . push ( deindent `
44- for ( var ${ i } = 0; ${ i } < ${ iterations } .length; ${ i } += 1 ) {
45- ${ iterations } [${ i } ].mount( ${ anchor } .parentNode, ${ anchor } );
44+ for ( var ${ i } = 0; ${ i } < this. ${ iterations } .length; ${ i } += 1 ) {
45+ this. ${ iterations } [${ i } ].mount( this. ${ anchor } .parentNode, this. ${ anchor } );
4646 }
4747 ` ) ;
4848 if ( node . else ) {
4949 generator . current . mountStatements . push ( deindent `
50- if ( ${ elseName } ) {
51- ${ elseName } .mount( ${ anchor } .parentNode, ${ anchor } );
50+ if ( this. ${ elseName } ) {
51+ this. ${ elseName } .mount( this. ${ anchor } .parentNode, this. ${ anchor } );
5252 }
5353 ` ) ;
5454 }
@@ -58,44 +58,44 @@ export default {
5858 var ${ name } _value = ${ snippet } ;
5959
6060 for ( var ${ i } = 0; ${ i } < ${ name } _value.length; ${ i } += 1 ) {
61- if ( !${ iterations } [${ i } ] ) {
62- ${ iterations } [${ i } ] = ${ renderer } ( ${ params } , ${ listName } , ${ listName } [${ i } ], ${ i } , component );
63- ${ iterations } [${ i } ].mount( ${ anchor } .parentNode, ${ anchor } );
61+ if ( !this. ${ iterations } [${ i } ] ) {
62+ this. ${ iterations } [${ i } ] = new ${ renderer } ( ${ params } , ${ listName } , ${ listName } [${ i } ], ${ i } , this. component );
63+ this. ${ iterations } [${ i } ].mount( this. ${ anchor } .parentNode, this. ${ anchor } );
6464 } else {
65- ${ iterations } [${ i } ].update( changed, ${ params } , ${ listName } , ${ listName } [${ i } ], ${ i } );
65+ this. ${ iterations } [${ i } ].update( changed, ${ params } , ${ listName } , ${ listName } [${ i } ], ${ i } );
6666 }
6767 }
6868
69- for ( var ${ i } = ${ name } _value.length; ${ i } < ${ iterations } .length; ${ i } += 1 ) {
70- ${ iterations } [${ i } ].teardown( true );
69+ for ( var ${ i } = ${ name } _value.length; ${ i } < this. ${ iterations } .length; ${ i } += 1 ) {
70+ this. ${ iterations } [${ i } ].teardown( true );
7171 }
7272
73- ${ iterations } .length = ${ listName } .length;
73+ this. ${ iterations } .length = ${ listName } .length;
7474 ` ) ;
7575
7676 if ( node . else ) {
7777 generator . current . updateStatements . push ( deindent `
78- if ( !${ name } _value.length && ${ elseName } ) {
79- ${ elseName } .update( changed, ${ params } );
78+ if ( !${ name } _value.length && this. ${ elseName } ) {
79+ this. ${ elseName } .update( changed, ${ params } );
8080 } else if ( !${ name } _value.length ) {
81- ${ elseName } = ${ renderElse } ( ${ params } , component );
82- ${ elseName } .mount( ${ anchor } .parentNode, ${ anchor } );
83- } else if ( ${ elseName } ) {
84- ${ elseName } .teardown( true );
81+ this. ${ elseName } = new ${ renderElse } ( ${ params } , this. component );
82+ this. ${ elseName } .mount( this. ${ anchor } .parentNode, this. ${ anchor } );
83+ } else if ( this. ${ elseName } ) {
84+ this. ${ elseName } .teardown( true );
8585 }
8686 ` ) ;
8787 }
8888
8989 generator . current . teardownStatements . push ( deindent `
90- for ( var ${ i } = 0; ${ i } < ${ iterations } .length; ${ i } += 1 ) {
91- ${ iterations } [${ i } ].teardown( ${ isToplevel ? 'detach' : 'false' } );
90+ for ( var ${ i } = 0; ${ i } < this. ${ iterations } .length; ${ i } += 1 ) {
91+ this. ${ iterations } [${ i } ].teardown( ${ isToplevel ? 'detach' : 'false' } );
9292 }
9393 ` ) ;
9494
9595 if ( node . else ) {
9696 generator . current . teardownStatements . push ( deindent `
97- if ( ${ elseName } ) {
98- ${ elseName } .teardown( ${ isToplevel ? 'detach' : 'false' } );
97+ if ( this. ${ elseName } ) {
98+ this. ${ elseName } .teardown( ${ isToplevel ? 'detach' : 'false' } );
9999 }
100100 ` ) ;
101101 }
0 commit comments