如何在 ng-model 名称中添加动态文本
How to add dynamic text in ng-model name
是否可以在 ng-model
名称中添加动态文本?
数据js
self.Map = [{ Id: 0, Name: 'Map1' }, { Id: 1, Name: 'Map2' }, { Id: 2, Name: 'Map3' }]
html
<div ng-repeat="option in mainCtrl.Map">
<div style="text-align:left;" class="col-md-6">
{{option.Name}} Map
</div>
<div style="text-align:right;" class="col-md-6">
<input type="text" id="Is{{option.Name}}" name="Is{{option.Name}}" ng-model="mainCtrl.Is{{option.Name}}"/>
</div>
</div>
期望输出
ng-model="mainCtrl.IsMap1"
参考https://www.w3schools.com/js/js_objects.asp,您可以通过以下两种方式访问对象:
objectName.propertyName
objectName["propertyName"]
您可以尝试以下方式,这样 angularJs 可以绑定您想要的值:
<input type="text" id="Is{{option.Name}}" name="Is{{option.Name}}" ng-model="mainCtrl['Is'+option.Name]"/
您是否尝试过将虚拟字段添加到您的 HTML 输入标签,例如
<div ng-repeat="option in mainCtrl.Map">
<div style="text-align:left;" class="col-md-6">
{{option.Name}} Map
</div>
<div style="text-align:right;" class="col-md-6">
<input type="text" id="Is{{option.Name}}" name="Is{{option.Name}}" ng-model="mainCtrl[this.getAttribute('dummyfield')]" dummyfield="{{option.Name}}Role" />
</div>
</div>
是否可以在 ng-model
名称中添加动态文本?
数据js
self.Map = [{ Id: 0, Name: 'Map1' }, { Id: 1, Name: 'Map2' }, { Id: 2, Name: 'Map3' }]
html
<div ng-repeat="option in mainCtrl.Map">
<div style="text-align:left;" class="col-md-6">
{{option.Name}} Map
</div>
<div style="text-align:right;" class="col-md-6">
<input type="text" id="Is{{option.Name}}" name="Is{{option.Name}}" ng-model="mainCtrl.Is{{option.Name}}"/>
</div>
</div>
期望输出
ng-model="mainCtrl.IsMap1"
参考https://www.w3schools.com/js/js_objects.asp,您可以通过以下两种方式访问对象:
objectName.propertyName
objectName["propertyName"]
您可以尝试以下方式,这样 angularJs 可以绑定您想要的值:
<input type="text" id="Is{{option.Name}}" name="Is{{option.Name}}" ng-model="mainCtrl['Is'+option.Name]"/
您是否尝试过将虚拟字段添加到您的 HTML 输入标签,例如
<div ng-repeat="option in mainCtrl.Map">
<div style="text-align:left;" class="col-md-6">
{{option.Name}} Map
</div>
<div style="text-align:right;" class="col-md-6">
<input type="text" id="Is{{option.Name}}" name="Is{{option.Name}}" ng-model="mainCtrl[this.getAttribute('dummyfield')]" dummyfield="{{option.Name}}Role" />
</div>
</div>