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

时间:2018-08-29 08:53:57

标签: html angular ngx-chips

我正在使用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的值,并向数据库中发出发布请求,但我无法检索该值。

2 个答案:

答案 0 :(得分:1)

您必须在类中将aliasList定义为变量。

之后,您可以使用:

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

答案 1 :(得分:1)

您无需从模板发送alias值。您已经在aliasList中通过ngModel设置了这些值。只需使用它即可。

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

模板

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