繁体   English   中英

徽章问题-angular2-mdl 4.0.1(Angular 4)

[英]Badge issue - angular2-mdl 4.0.1 (Angular 4)

我正在使用徽章,如下所示:

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

当myCount:number为null时,Angular 2的MDL版本用于隐藏徽章。 当前版本(Angular 4为4.0.1)显示带有“ null”文本的徽章。

但是-a2MDL页面上的示例(动态实验)可以正常工作-从输入框中删除数字时,徽章被隐藏了。 我想念什么吗?

有趣!

版本2和版本4之间发生的变化是版本2使用了Renderer类中的setElementAttribute

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

Renderer已弃用,并由Renderer2代替:

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

但实现方式已更改:版本2: https//github.com/angular/angular/blob/2.4.x/modules/%40angular/platform-b​​rowser/src/dom/dom_renderer.ts#L199

版本4 https://github.com/angular/angular/blob/92084f2b6a7cc1c81e31b8f413424223e62806d8/packages/platform-b​​rowser/src/dom/dom_dom_renderer.ts#L148

如您所见,无论是否为isPresent,都不再检查它。 因此,空值将隐式转换为字符串。

我创建了一个问题( https://github.com/mseemann/angular2-mdl/issues/775 ),以恢复旧的行为,如果不存在该值,则会删除属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM