Как добавить динамический текст в имя ng-модели - PullRequest
0 голосов
/ 19 февраля 2019

Можно ли добавить динамический текст в имя ng-model?

data 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"

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Вы пытались добавить фиктивное поле к своему 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>
0 голосов
/ 19 февраля 2019

См. 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]"/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...