在angular2中有没有替代ng-disabled?

Bhu*_*kar 135 angular-directive angular

我正在使用angular2进行开发,并想知道ng-disabled在angular2中是否有任何替代方案.

对于前者 下面的代码是angularJS:

<button ng-disabled="!nextLibAvailable" ng-click="showNext('library')" class=" btn btn-info btn-xs" title="Next Lib >> {{libraries.name}}">
    <i class="fa fa-chevron-right fa-fw"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

只是想知道如何实现此功能?任何输入?

Gün*_*uer 260

设置disabled属性truefalse使用

<button [disabled]="!nextLibAvailable" (click)="showNext('library')" class=" btn btn-info btn-xs" title="Next Lib"> {{libraries.name}}">
    <i class="fa fa-chevron-right fa-fw"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

  • 只适用于`<button>,`(是真的吗?),这是合理的.否则得到错误信息(即当试图绑定到`<a>`)`不能绑定到'禁用',因为它不是'a'的已知属性. (4认同)
  • 它适用于具有"disabled"属性的每个元素.另见http://stackoverflow.com/questions/35431188/angular (3认同)

Rog*_*mao 61

[attr.disabled]="valid == true ? true : null"
Run Code Online (Sandbox Code Playgroud)

您必须使用null从html元素中删除attr.

  • 只有在元素没有`disabled`属性时才需要`attr .`.对于像按钮和输入元素这样的元素,attr.是多余的.对于没有`disabled`属性的元素,绑定到`attr.disabled`只有通过CSS解决它才能使它看起来像禁用(鼠标指针,灰色,...) (9认同)
  • 对于angular> 2.x,这是使用[attr.disabled]的正确方法 (3认同)

Kri*_* PC 5

对于 Angular 4+版本,您可以尝试

<input [readonly]="true" type="date" name="date" />
Run Code Online (Sandbox Code Playgroud)


Ane*_*han 5

这是与anular 6一起使用的解决方案。

[readonly]="DateRelatedObject.bool_DatesEdit ? true : false"
Run Code Online (Sandbox Code Playgroud)

加上以上给出的答案

[attr.disabled]="valid == true ? true : null"
Run Code Online (Sandbox Code Playgroud)

不适用于我,另外请注意使用null原因,因为它期望布尔值。