javascript - 如何使用 Angular 2 更改按钮单击时输入标签的禁用属性

标签 javascript html angular angular2-template

我正在尝试使用 Angular 2 在单击按钮时更改标签的禁用属性。到目前为止,我可以禁用它一次,但是我想来回切换此功能。

这是我的 HTML 模板代码。

<div *ngIf = "hero">
            <h2> {{hero.name}} details! </h2>
            <button (click)="goBack()">Back </button> 
            <button (click)="edit()"> Edit </button>
            <button (click)="save()">Save </button>
            <div><label> Id: </label> {{hero.id}} </div> 
             <div>
                <label> Name: </label> 
                <input [(ngModel)] = "hero.name" placeholder = "name" 
               [disabled]="change" />
            </div>

        </div>

这是我的组件代码

hero: Hero; 
editOn: boolean = true; 
change: string;     
edit(): string

{

if(this.editOn)
{
    this.editOn = false;
    this.change = "abled";
    console.log("Change propery status: ", this.change);
    return this.change;

}else if (!this.editOn)
{
     this.editOn = true; 
    this.change = "disabled";
     console.log("Change propery status: ", this.change);
    return this.change;

}

这是我目前使用 console.logs 显示我的属性值正在更改的浏览器。 Broswer Image

最佳答案

[disabled] 指令的右侧需要是一个 boolean 值。 "disabled""abled" 都是真值。因此,它的计算结果为 [disabled]="true"

例子:

if(this.editOn)
{
    this.editOn = false;
    this.change = false;
    console.log("Change propery status: ", this.change);
    return this.change;

}else if (!this.editOn)
{
    this.editOn = true; 
    this.change = true;
    console.log("Change propery status: ", this.change);
    return this.change;

}

关于javascript - 如何使用 Angular 2 更改按钮单击时输入标签的禁用属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523065/

相关文章:

javascript - 使用 javascript 正则表达式选取 url 的一部分?

javascript - 如何使用 Mongoose 进行分组/聚合?

javascript - 隐藏/显示子菜单

html - 将 div 与单选按钮并排放置(内容切换器)

javascript - postcss-preset-env : end value has mixed support, 考虑改用 flex-end

Angular 5 : clicked button that triggers a dialog becomes highlighted after the dialog is closed

javascript - 如何将jquery注入(inject)到任何网页

javascript - 矩阵,距离,javascript

javascript - 如何使用相同的 script.js 文件通过多个 ID 调用不同的 CSS 类

javascript - Angular 4 Universal this.html.charCodeAt 不是函数