1
我与Angular2和MaterialDesignLite工作,要实现就像这一个菜单:Angular2 + MaterialDesignLite:添加HTML属性动态
<ul class="mdl-menu mdl-menu--bottom-left mdl-js-menu mdl-js-ripple-effect"
for="demo-menu-lower-left">
<li class="mdl-menu__item">Some Action</li>
<li class="mdl-menu__item mdl-menu__item--full-bleed-divider">Another Action</li>
<li disabled class="mdl-menu__item">Disabled Action</li>
<li class="mdl-menu__item">Yet Another Action</li>
</ul>
让我们专注于残疾人财产。我希望它在我想禁用菜单项时仍然出现,仍然可见。这是我到目前为止已经取得的成就:
<div class="mdl-menu__container-menu">
<div class="mdl-menu__outline mdl-menu--bottom-right"></div>
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect" [attr.for]="id">
<li [attr.disabled]="item.disabled" *ngFor="#item of items" class="mdl-menu__item" (click)="onClick($event, item.id)">{{item.text}}</li>
</ul>
</div>
不幸的是,MDL <li>
禁用属性不与一个布尔值工作(禁用=“true”或禁用=“假”行为就像禁用本身)和已禁用不是<li>
的本地属性,Angular2不允许我将它设置为[disabled]="item.disabled"
。
有什么办法可以设置禁用属性本身,在特定的条件下,通过使用指令?
有什么办法可以有条件地设置一个属性(没有任何赋值)或指令在一个组件动态?
在此先感谢您的帮助!
谢谢,这解决了我的问题!我试图通过使用指令'* disabled =“condition”'并直接在nativeElement上设置** disabled **属性来实现它。不幸的是,因为它在模板区域内(for循环),所以不起作用。 –