@@ -70,7 +70,7 @@ <h3>Code</h3>
70
70
</ div >
71
71
< div >
72
72
< h3 > Rendered in < span class ="rendering_time "> ...</ span > ms [< span class ="rendering_stats "> ...</ span > ]</ h3 >
73
- < highlightjs auto :code ="code " />
73
+ < highlightjs :language =" language " :code ="code " />
74
74
</ div >
75
75
< div >
76
76
< h3 > Markup</ h3 >
@@ -99,6 +99,7 @@ <h3>Markup</h3>
99
99
var result = hljs . getLanguage ( language ) ? hljs . highlight ( language , source , true ) : hljs . highlightAuto ( source ) ;
100
100
var rendering_time = + new Date ( ) - start_time ;
101
101
vue . code = source ;
102
+ vue . language = hljs . getLanguage ( language ) ? language : '' ;
102
103
103
104
var rendering_stats = result . language + ': relevance ' + ( result . relevance ) ;
104
105
if ( result . second_best ) {
@@ -144,15 +145,25 @@ <h3>Markup</h3>
144
145
Vue . use ( hljs . vuePlugin ) ;
145
146
let vue = new Vue ( {
146
147
el : '#app' ,
147
- data : { code : "" } ,
148
- watch : { code : function ( ) {
149
- // update data-klass post-render for cool class previews
150
- this . $nextTick ( ( ) => {
151
- $ ( ".hljs span" ) . each ( ( _ , el ) => {
152
- $ ( el ) . attr ( "data-klass" , el . className . replace ( "hljs-" , "" ) )
148
+ data : { code : "" , language : "" } ,
149
+ methods : {
150
+ refreshKlass : function ( ) {
151
+ // update data-klass post-render for cool class previews
152
+ this . $nextTick ( ( ) => {
153
+ $ ( ".hljs span" ) . each ( ( _ , el ) => {
154
+ $ ( el ) . attr ( "data-klass" , el . className . replace ( "hljs-" , "" ) )
155
+ } )
153
156
} )
154
- } )
155
- } }
157
+ }
158
+ } ,
159
+ watch : {
160
+ code : function ( ) {
161
+ this . refreshKlass ( ) ;
162
+ } ,
163
+ language : function ( ) {
164
+ this . refreshKlass ( ) ;
165
+ }
166
+ }
156
167
} )
157
168
</ script >
158
169
</ body >
0 commit comments