我创建了一个带有autocomplete指令的多选,它将所选列表映射到指令的ng-model。我想从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}}我应该得到价值&#39; @ pacman.com&#39;。
答案 0 :(得分:0)
实际上您的代码存在的问题是,您希望通过执行selecteds.email
从所选项目中获取电子邮件ID,但selecteds
不是具有属性email
的对象,而是一个数组选定的对象。所以你应该使用Angular的双向绑定属性并直接使用selecteds
对象数组并迭代它以获得单独的电子邮件ID数组。在某些特定事件上。因为在你的情况下,ng-change
事件不会在每次模型的值发生变化时触发,因为它的自定义指令可以通过Question/Answer。因此,请确保为满足您的需要而开展适当的活动。