angular 5、保留输入值并将其添加到JS对象
angular 5, Keeping value on inputs and adding it to JS object
我正在 angular 5 中制作一个网络工具来帮助创建新的 XML。
我在传递输入值并将它们同时保存在同一输入中时遇到问题。
我有一个带有 ngSubmit 事件的表单,它使用 ngForm 的引用作为参数
<form class="form-group" (ngSubmit)="createSimpleTypeList(f)" #f="ngForm" >
<div class="container">
<div class="row">
<div class="col-sm-12" >
<button class="btn btn-danger flex ">Construir Json!</button>
</div>
</div>
</div>
<hr>
<div class="container" *ngFor="let type of objSimpleType;let i =index">
<hr>
<div class="row">
<div class="col-sm-3">
<input type="text" [(ngModel)]="type.name" name="nameType"/>
<br>
Inserte el nombre del tipo:
</div>
<div class="col-sm-3">
<input type="text" [(ngModel)]="type.type" name="type"/>
<br>
Inserte el tipo:
</div>
<div class="col-sm-2">
<input type="number" [(ngModel)]="type.min" name="min"/>
<br>
Inserte minimo:
</div>
<div class="col-sm-2">
<input type="number" [(ngModel)]="type.max" name="max"/>
<br>
Inserte maximo:
</div>
<div class="col-sm-2">
<input type="checkbox" name="number" /> Numero?
</div>
</div>
</div>
<hr>
</form>
这是 createSimpleTypeList 方法
console.log(form.value.nameType);
this.objSimpleType.push({
'-name': form.value.nameType,
'xsd:restriction': {
'-base': form.value.type,
'xsd:minLength': {
'-value': form.value.min
},
'xsd:maxLenght': {
'-value': form.value.max
}
}
});
this.typeList.emit(form.value.nameType);
this.sharedNameSpace.emit(this.namespace);
我遇到的问题是我没有找到一种方法将新项目推送到 objSimpleType 中,而不删除输入的值,如果我设法不删除输入的值,那么表单的值不会推。
这是它的样子。how the inputs work right now
这就是我需要的
How the inputs should be
我对 angular 还是个新手,非常感谢您的帮助。
既然我已经找到了解决方案,我在上面的代码中有两个错误。
首先我的逻辑没有很好地执行,我需要使用唯一的ID,并动态调用它们。
其次,我在调用它们时遇到了麻烦,看了很多之后,我发现我可以用括号[].
调用Json的参数
"form.value['nameType' + this.i]" -- 这就是我需要的。
我正在 angular 5 中制作一个网络工具来帮助创建新的 XML。
我在传递输入值并将它们同时保存在同一输入中时遇到问题。
我有一个带有 ngSubmit 事件的表单,它使用 ngForm 的引用作为参数
<form class="form-group" (ngSubmit)="createSimpleTypeList(f)" #f="ngForm" >
<div class="container">
<div class="row">
<div class="col-sm-12" >
<button class="btn btn-danger flex ">Construir Json!</button>
</div>
</div>
</div>
<hr>
<div class="container" *ngFor="let type of objSimpleType;let i =index">
<hr>
<div class="row">
<div class="col-sm-3">
<input type="text" [(ngModel)]="type.name" name="nameType"/>
<br>
Inserte el nombre del tipo:
</div>
<div class="col-sm-3">
<input type="text" [(ngModel)]="type.type" name="type"/>
<br>
Inserte el tipo:
</div>
<div class="col-sm-2">
<input type="number" [(ngModel)]="type.min" name="min"/>
<br>
Inserte minimo:
</div>
<div class="col-sm-2">
<input type="number" [(ngModel)]="type.max" name="max"/>
<br>
Inserte maximo:
</div>
<div class="col-sm-2">
<input type="checkbox" name="number" /> Numero?
</div>
</div>
</div>
<hr>
</form>
这是 createSimpleTypeList 方法
console.log(form.value.nameType);
this.objSimpleType.push({
'-name': form.value.nameType,
'xsd:restriction': {
'-base': form.value.type,
'xsd:minLength': {
'-value': form.value.min
},
'xsd:maxLenght': {
'-value': form.value.max
}
}
});
this.typeList.emit(form.value.nameType);
this.sharedNameSpace.emit(this.namespace);
我遇到的问题是我没有找到一种方法将新项目推送到 objSimpleType 中,而不删除输入的值,如果我设法不删除输入的值,那么表单的值不会推。
这是它的样子。how the inputs work right now
这就是我需要的
How the inputs should be 我对 angular 还是个新手,非常感谢您的帮助。
既然我已经找到了解决方案,我在上面的代码中有两个错误。
首先我的逻辑没有很好地执行,我需要使用唯一的ID,并动态调用它们。
其次,我在调用它们时遇到了麻烦,看了很多之后,我发现我可以用括号[].
调用Json的参数"form.value['nameType' + this.i]" -- 这就是我需要的。