From 3898dc488ea9ed05f6e5b6395b29ff0e98778822 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 27 Sep 2016 17:57:26 -0700 Subject: [PATCH] fix(BrowserAdapter): correctly removes styles on IE fixes #7916 --- modules/@angular/common/src/directives/ng_style.ts | 2 +- .../platform-browser/src/browser/browser_adapter.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/@angular/common/src/directives/ng_style.ts b/modules/@angular/common/src/directives/ng_style.ts index a91f19051e..26a5794808 100644 --- a/modules/@angular/common/src/directives/ng_style.ts +++ b/modules/@angular/common/src/directives/ng_style.ts @@ -67,7 +67,7 @@ export class NgStyle implements DoCheck { private _setStyle(nameAndUnit: string, value: string): void { const [name, unit] = nameAndUnit.split('.'); - value = value !== null && value !== void(0) && unit ? `${value}${unit}` : value; + value = value && unit ? `${value}${unit}` : value; this._renderer.setElementStyle(this._ngEl.nativeElement, name, value); } diff --git a/modules/@angular/platform-browser/src/browser/browser_adapter.ts b/modules/@angular/platform-browser/src/browser/browser_adapter.ts index 87f16893a9..57f924b682 100644 --- a/modules/@angular/platform-browser/src/browser/browser_adapter.ts +++ b/modules/@angular/platform-browser/src/browser/browser_adapter.ts @@ -213,7 +213,11 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter { setStyle(element: any, styleName: string, styleValue: string) { element.style[styleName] = styleValue; } - removeStyle(element: any, stylename: string) { element.style[stylename] = null; } + removeStyle(element: any, stylename: string) { + // IE requires '' instead of null + // see https://github.com/angular/angular/issues/7916 + element.style[stylename] = ''; + } getStyle(element: any, stylename: string): string { return element.style[stylename]; } hasStyle(element: any, styleName: string, styleValue: string = null): boolean { const value = this.getStyle(element, styleName) || '';