2017-04-09 5 views
0

次のように私はバッジを使用しています:バッジの問題 - angular2-MDL 4.0.1(角4)

<mdl-icon [mdl-badge]="myCount" mdl-badge-overlap>some_icon</mdl-icon> 

ときmyCount:数がヌルである、バッジを非表示にするために使用角度2のためのMDLバージョン。現在のバージョン(角度4.0の4.0.1)には、「ヌル」テキストのバッジが表示されます。

しかし、a2MDLページのサンプル(動的実験)は正しく機能します。入力ボックスから数値を削除すると、バッジは非表示になります。何か不足していますか?

答えて

0

興味深い!

バージョン2と4の間で変化しているものであること2 RendererクラスからsetElementAttributeを使用しているバージョン:Renderer2によって

this.renderer.setElementAttribute(this.el, 'data-badge', this.mdlBadgeContent); 

Rendererは非推奨と交換した:

this.renderer.setAttribute(this.el, 'data-badge', this.mdlBadgeContent); 

しかし、実装は変更されました: バージョン2:https://github.com/angular/angular/blob/2.4.x/modules/%40angular/platform-browser/src/dom/dom_renderer.ts#L199

バージョン4 https://github.com/angular/angular/blob/92084f2b6a7cc1c81e31b8f413424223e62806d8/packages/platform-browser/src/dom/dom_renderer.ts#L148

ご覧のとおり、現在の値はPresentであるかどうかはチェックされません。したがって、null値は暗黙的にstringに変換されます。

値が存在しない場合に属性を削除する古い動作を復元するための問題(https://github.com/mseemann/angular2-mdl/issues/775)を作成しました。

関連する問題