File tree 5 files changed +35
-3
lines changed
server-side-rendering/visitors
test/runtime/samples/non-root-style-interpolation
5 files changed +35
-3
lines changed Original file line number Diff line number Diff line change @@ -433,7 +433,7 @@ export default class Element extends Node {
433
433
434
434
if ( isVoidElementName ( node . name ) ) return open + '>' ;
435
435
436
- if ( node . name === 'script' || node . name === 'style' ) {
436
+ if ( node . name === 'script' ) {
437
437
return `${ open } >${ node . data } </${ node . name } >` ;
438
438
}
439
439
Original file line number Diff line number Diff line change @@ -68,7 +68,7 @@ export default function visitElement(
68
68
69
69
if ( node . name === 'textarea' && textareaContents !== undefined ) {
70
70
generator . append ( textareaContents ) ;
71
- } else if ( node . name === 'script' || node . name === 'style' ) {
71
+ } else if ( node . name === 'script' ) {
72
72
generator . append ( escape ( node . data ) ) ;
73
73
} else {
74
74
node . children . forEach ( ( child : Node ) => {
Original file line number Diff line number Diff line change @@ -224,11 +224,20 @@ export default function tag(parser: Parser) {
224
224
) ;
225
225
parser . read ( / < \/ t e x t a r e a > / ) ;
226
226
element . end = parser . index ;
227
- } else if ( name === 'script' || name === 'style' ) {
227
+ } else if ( name === 'script' ) {
228
228
// special case
229
229
element . data = parser . readUntil ( new RegExp ( `</${ name } >` ) ) ;
230
230
parser . eat ( `</${ name } >` , true ) ;
231
231
element . end = parser . index ;
232
+ } else if ( name === 'style' ) {
233
+ // special case
234
+ element . children = readSequence (
235
+ parser ,
236
+ ( ) =>
237
+ parser . template . slice ( parser . index , parser . index + 8 ) === '</style>'
238
+ ) ;
239
+ parser . read ( / < \/ s t y l e > / ) ;
240
+ element . end = parser . index ;
232
241
} else {
233
242
parser . stack . push ( element ) ;
234
243
}
Original file line number Diff line number Diff line change
1
+ export default {
2
+ data : {
3
+ color : 'red' ,
4
+ } ,
5
+
6
+ html : `
7
+ <div>
8
+ <style>
9
+ div {
10
+ color: red;
11
+ }
12
+ </style>
13
+ foo
14
+ </div>` ,
15
+ } ;
Original file line number Diff line number Diff line change
1
+ < div >
2
+ < style >
3
+ div {
4
+ color : {{color}};
5
+ }
6
+ </ style >
7
+ foo
8
+ </ div >
You can’t perform that action at this time.
0 commit comments