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