【发布时间】:2018-05-26 02:50:26
【问题描述】:
- 不工作:
-
[disabled] = true, -
[disabled] = "isDisabled"-----ts > (isDisabled=true) - 基本的 html 禁用程序也无法正常工作 ----html >
disable -
[attr.disabled] = true, -
[attr.disabled] = "isDisabled"-----ts > (isDisabled=true)
-
我正在尝试为预览和更新制作相同的表单(预览应该禁用输入),但我在 html 中的输入无法绑定到 typescript 布尔值。 在 html 中,我有一张带有 person.name、person.surname .... button(preview)、button(update) 的表,它们都触发了 onSelect 函数并发送 person + true/false。
<input [(ngModel)]="osoba.ime" [attr.disabled]="isDisabled" name = "ime" type="text" id="ime">
和打字稿功能和属性
isDisabled = true;
onSelect(o: Osoba, isView) {
this.isDisabled = isView;
console.log(document.getElementById('ime'));
console.log(this.isDisabled);
this.selectedOsoba = o;
}
this.isDisabled 的日志有效
但是元素的日志甚至没有禁用属性
<input _ngcontent-c5="" id="ime" name="ime" type="text" ng-reflect-name="ime" ng-reflect-model="Dusan " class="ng-untouched ng-pristine ng-valid">
这是整个 html 代码
<form *ngIf="osoba">
<div class="input">
<label>Ime Osobe</label>
<input [disabled]= "isDisabled" [(ngModel)]="osoba.ime" name = "ime" type="text" id="ime">
</div>
<div class = "input">
<label >Prezime Osobe</label>
<input [(ngModel)]="osoba.prezime" name = "prezime" type="text" id = "prezime" [disabled] = "isDisabled">
</div>
<div >
<label >Jmbg Osobe </label>
<input [(ngModel)]="osoba.jmbg" name = "jmbg" type="text" [attr.disabled]= true >
</div>
<div class="input">
<input type="submit" value="izmeni" (click)="updateOsoba()">
</div>
</form>
<input id="disabledTest" type="text" value="nekiTekst" [disabled]= true>
表单外的输入正常,但表单和 div 中的所有输入都不起作用 有什么问题?
【问题讨论】:
-
尝试 [attr.disabled] = "isDisabled"
-
已经试过了
-
这样尝试过,但看起来文本荧光笔不一样,也许这是一个线索
-
@АлексаЈевтић 您的代码应该可以工作。
log语句包含id并且您的 HTML 没有id设置它是如何记录的?
标签: angular typescript data-binding