diff --git a/src/lib/core/media-marshaller/media-marshaller.ts b/src/lib/core/media-marshaller/media-marshaller.ts index b2aaa11de..d07df16bd 100644 --- a/src/lib/core/media-marshaller/media-marshaller.ts +++ b/src/lib/core/media-marshaller/media-marshaller.ts @@ -317,7 +317,7 @@ export class MediaMarshaller { const activatedBp = this.activatedBreakpoints[i]; const valueMap = bpMap.get(activatedBp.alias); if (valueMap) { - if (key === undefined || valueMap.has(key)) { + if (key === undefined || (valueMap.has(key) && valueMap.get(key) !== undefined)) { return valueMap; } } diff --git a/src/lib/extended/class/class.spec.ts b/src/lib/extended/class/class.spec.ts index c6c279784..192e30224 100644 --- a/src/lib/extended/class/class.spec.ts +++ b/src/lib/extended/class/class.spec.ts @@ -198,6 +198,12 @@ describe('class directive', () => { expectNativeEl(fixture).toHaveCssClass('mat-class'); }); + it('should support more than one responsive breakpoint on one element with undefined', () => { + createTestComponent(`
`); + mediaController.activate('md', true); + expectNativeEl(fixture).toHaveCssClass('mat-class'); + }); + it('should work with ngClass object notation', () => { createTestComponent(`