Я создал мультиселекцию с директивой autocomplete, которая отображает выбранный список в ng-модель директивы. Я хочу получить одно значение поля из ng-модели и назначить его другой ng-модели. Я не могу этого сделать. Если я передаю значение всей ng-модели и присваиваю другой ng-модели свой рабочий режим, но с единственным значением поля, он не работает.
Пожалуйста, найдите ссылку для скрипача для кода -
<div ng-controller="TestCtrl">
<typeahead data-ng-model="selecteds" ng-change="emailId=selecteds.email" items="contacts" displaytag="name" displayitem="name">
</typeahead>
<input type="hidden" ng-model="emailId" />
{{emailId}}
</div>
Я не могу запустить код в скрипке, но его код работает в моей системе.
Может кто-нибудь, пожалуйста, помогите мне в том, как я могу передать одно поле в ng-модели на другую ng-модель. В {{emailId}} я должен получить значение "@pacman.com".
На самом деле проблема с вашим кодом заключается в том, что вы хотите получить идентификатор электронной почты из выбранных элементов, выполнив selecteds.email
но selecteds
объекты не являются объектом с свойством email
его массивом выбранных объектов. Таким образом, вы должны использовать свойство двунаправленного привязки Angular и напрямую использовать selecteds
массив объекта и перебирать его, чтобы получить отдельный массив идентификаторов электронной почты. На каком-то конкретном событии. Потому что в вашем случае событие ng-change
не будет срабатывать каждый раз, когда значение Модели изменится, поскольку его настраиваемая директива вы можете пройти через Question/Answer. Поэтому убедитесь, что вы запустили надлежащее событие для своей полной потребности.