Material2:使用md-hint的奇怪行为

时间:2017-05-29 23:11:34

标签: angular angular-material2

我遇到md-hint <md-input-container> <input mdInput placeholder="Favorite food" [formControl]="anyCtrl"> <ng-container *ngIf="myCond"> <md-hint *ngIf="otherCond" align="end">* Just a hint</md-hint> </ng-container> </md-input-container> 的问题。

我想根据条件显示提示,所以我做的是这样的:

md-hint

但它看起来很奇怪,正如您在Material2#input中看到的那样,*ngIf未在输入底部正确显示,并在我指定的最后对齐。

令我惊讶的是,如果我仅在md-hint中使用ng-container(不使用*ngIf包裹它),则不会发生这种情况[也在 plunker 中描述〜第二个例子〜]。

问题:

我无法直接在md-hint中使用<ng-container *ngIf="data[key]?.data | async as resolvedData"> <md-hint *ngIf="resolvedData[key]?.length === 0" align="end">Hint</md-hint> </ng-container> ,因为我的真实情况是:

*ngIf

所以,正如你可以看到我是否将整个表达式转换为<md-hint *ngIf="data[key]?.data | async?[key]?.length === 0" align="end">Hint</md-hint> ,它将如下所示:

*ngIf

哪一个会引发异常,指责模板解析错误( async?[key] ),因为PLUNKER 只接受 dot 语法,我正在处理的那些键是动态的,所以我必须使用 bracket 语法。这就是为什么我要包装成2 md-hint,正如你在上面看到的那样。

最后,问题是:如果我有一个简单的ng-container包装它,为什么TAP的风格会有所不同?这是一个错误吗?

提前致谢。

0 个答案:

没有答案