@@ -1184,7 +1184,7 @@ CompilerProto.compileNode = function (node) {
1184
1184
prefix = config . prefix + '-'
1185
1185
// parse if has attributes
1186
1186
if ( attrs && attrs . length ) {
1187
- var attr , isDirective , exps , exp , directive
1187
+ var attr , isDirective , exps , exp , directive , dirname
1188
1188
// loop through all attributes
1189
1189
i = attrs . length
1190
1190
while ( i -- ) {
@@ -1200,7 +1200,8 @@ CompilerProto.compileNode = function (node) {
1200
1200
j = exps . length
1201
1201
while ( j -- ) {
1202
1202
exp = exps [ j ]
1203
- directive = Directive . parse ( attr . name . slice ( prefix . length ) , exp , this , node )
1203
+ dirname = attr . name . slice ( prefix . length )
1204
+ directive = Directive . parse ( dirname , exp , this , node )
1204
1205
if ( directive ) {
1205
1206
this . bindDirective ( directive )
1206
1207
}
@@ -1216,7 +1217,9 @@ CompilerProto.compileNode = function (node) {
1216
1217
}
1217
1218
}
1218
1219
1219
- if ( isDirective ) node . removeAttribute ( attr . name )
1220
+ if ( isDirective && dirname !== 'cloak' ) {
1221
+ node . removeAttribute ( attr . name )
1222
+ }
1220
1223
}
1221
1224
}
1222
1225
// recursively compile childNodes
@@ -2911,6 +2914,7 @@ function reset () {
2911
2914
} ) ;
2912
2915
require . register ( "vue/src/directives/index.js" , function ( exports , require , module ) {
2913
2916
var utils = require ( '../utils' ) ,
2917
+ config = require ( '../config' ) ,
2914
2918
transition = require ( '../transition' )
2915
2919
2916
2920
module . exports = {
@@ -2956,6 +2960,15 @@ module.exports = {
2956
2960
this . lastVal = value
2957
2961
}
2958
2962
}
2963
+ } ,
2964
+
2965
+ cloak : {
2966
+ bind : function ( ) {
2967
+ var el = this . el
2968
+ this . compiler . observer . once ( 'hook:ready' , function ( ) {
2969
+ el . removeAttribute ( config . prefix + '-cloak' )
2970
+ } )
2971
+ }
2959
2972
}
2960
2973
2961
2974
}
0 commit comments