Не знаю, проблема это или нормальное поведение.
Если у нас есть такая форма:
<form #form="ngForm" >
<div>
<label>field1</label>
<input type="text" name="field1" [(ngModel)]="mainVar" [disabled]="someVar" />
</div>
<div>
<label>field2</label>
<input type="text" name="field2" [(ngModel)]="someVar" />
</div>
</form>
В то же время переменные mainVar и someVar устанавливаются в пустую строку в компоненте:
mainVar = '';
someVar = '';
Это приведет к отключению ввода с именем field1, даже если someVar является пустой строкой. Насколько мне известно, переменная, представляющая собой пустую строку, должна возвращать false в оператор if.
Но самое странное, что если я удалю атрибут [(ngModel)] из ввода field1, он будет работать так, как должен (ввод field1 будет отключается, если я что-то ввожу в поле ввода field2)
true
. - person   schedule 05.04.2017[disabled]="''"
вернетtrue
, настоящая загадка в том, почему он работает, когда вы удаляете модель. - person YounesM   schedule 05.04.2017[disabled]="someVar.length"
, похоже, работает: plnkr.co/edit/Lkq1FdXM2CryZ8jVbigf?p=preview - person Pete   schedule 05.04.2017