@@ -142,8 +142,8 @@ function teardownDirs (vm, dirs, destroying) {
142
142
var propsLinkFn , parentLinkFn , replacerLinkFn
143
143
144
144
// 1. props
145
- propsLinkFn = props && containerAttrs
146
- ? compileProps ( el , containerAttrs , props )
145
+ propsLinkFn = props
146
+ ? compileProps ( el , containerAttrs || { } , props )
147
147
: null
148
148
149
149
// only need to compile other attributes for
@@ -414,7 +414,7 @@ function compileProps (el, attrs, propDescriptors) {
414
414
// normalize prop string/descriptor
415
415
if ( typeof descriptor === 'object' ) {
416
416
name = descriptor . name
417
- assertions = descriptor . assertions
417
+ assertions = descriptor
418
418
} else {
419
419
name = descriptor
420
420
assertions = null
@@ -445,7 +445,7 @@ function compileProps (el, attrs, propDescriptors) {
445
445
name : name ,
446
446
raw : value ,
447
447
path : path ,
448
- assertions : descriptor ,
448
+ assertions : assertions ,
449
449
mode : propBindingModes . ONE_WAY
450
450
}
451
451
var tokens = textParser . parse ( value )
@@ -479,6 +479,10 @@ function compileProps (el, attrs, propDescriptors) {
479
479
}
480
480
}
481
481
props . push ( prop )
482
+ } else if ( assertions && assertions . required ) {
483
+ _ . warn (
484
+ 'Required prop missing: ' + name
485
+ )
482
486
}
483
487
}
484
488
return makePropsLinkFn ( props )
0 commit comments