在angularjs

时间:2016-07-29 08:46:38

标签: angularjs

我创建了一个带有autocomplete指令的多选,它将所选列表映射到指令的ng-model。我想从ng模型中获取单个字段值并将其分配给另一个ng模型。我无法做到这一点。如果我传递整个ng模型值并分配给另一个ng模型,它的工作正常,但单个字段值则不起作用。

请找到代码的小提琴手链接 -

  

https://jsfiddle.net/719x1rbs/11/l

<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;。

1 个答案:

答案 0 :(得分:0)

实际上您的代码存在的问题是,您希望通过执行selecteds.email从所选项目中获取电子邮件ID,但selecteds不是具有属性email的对象,而是一个数组选定的对象。所以你应该使用Angular的双向绑定属性并直接使用selecteds对象数组并迭代它以获得单独的电子邮件ID数组。在某些特定事件上。因为在你的情况下,ng-change事件不会在每次模型的值发生变化时触发,因为它的自定义指令可以通过Question/Answer。因此,请确保为满足您的需要而开展适当的活动。