如何在 Angular 6 中检索 ng-input 的值

How to retrieve the value of ng-input in Angular 6

我正在使用 Angular 6 和模块 ngx-chips 来使用 ng-input 字段,所以这是 HTML 模板:

      <div class="form-group container">
        <div class="row">
          <div class=" col-sm-12">
            <label for="FormControlAlias"
              class="col-sm-2 col-form-label float-left">Alias</label>
            <div class="col-sm-8 float-left" >
              <tag-input #alias [(ngModel)]="aliasList"
                [secondaryPlaceholder]="'Enter the project aliases'"
                [placeholder]="'Enter an alias'"
                [modelAsStrings]="true"
                name="alias" [separatorKeyCodes]="[188]" > </tag-input>
            </div>
          </div>
        </div>
      </div>
<button type="button" class="btn btn-primary"
            (click)="addAlias(alias.value);>Add</button>

这是我通过点击按钮调用的函数:

addAlias( alias: Array<string>): void {

    console.log(alias.value);

}

在控制台中出现此错误:

ERROR TypeError: "alias is undefined"

我想获取#alias 的值并向数据库发出 post 请求,但我无法检索该值。

您必须将 aliasList 定义为 class 中的变量。

之后您可以使用以下方法检索值:

addAlias(): void{
    console.log(this.aliasList);
}

您不需要从模板发送 alias 值。您已经通过 ngModelaliasList 中设置了这些值。就用那个。

addAlias() {
    console.log(this.aliasList);
}

模板

<button type="button" class="btn btn-primary"
            (click)="addAlias()">Add</button>