如何使用ng-model中的ng-repeat来确定项目中项目的价值?
以下ng-repeat:
<ul ng-repeat="post in allposts" class="timeline">
我想设置{{post.userEmail}}的值,如下所示:
<input type="hidden" ng-model="Notify.destEmail[post.userEmail]" />
以下是我的代码:
<ul ng-repeat="post in allposts" class="timeline">
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-check"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">{{ post.postText}}</h4>
</p>
<form role="form">
<div class="row">
<div class="col-xs-8 col-md-4">
<div class="form-group">
<input type="text" ng-model='Notify.secEmail'
placeholder="Email of the person who can help?" class="form-control"
></div>
</div>
<div class="col-xs-8 col-md-4">
<div class="form-group">
<input type="text" ng-model="Notify.message"
placeholder="Enter a Message or Phone number" class="form-control"
>
<input type="hidden" ng-model="Notify.loggedInEmail[result.email]" />
<input type="hidden" ng-model="Notify.postId[post.id]" />
<input type="hidden" ng-model="Notify.destEmail[post.userEmail]" />
</div>
</div>
<div class="col-xs-6 col-md-3">
<button class="btn btn-danger" ng-click="notify()" type="button">
Notify
</button>
</div>
</div>
</form>
</div>
</div>
</li>
</ul>
我尝试使用ng-init =“Notify.destEmail = {{post.userEmail}}”,但它没有给我实际值。
尝试了许多选择,但没有快乐,我是Angular的新手,所以,请你帮助
答案 0 :(得分:0)
你不需要ng-init中的{{}},Angular会在没有它的情况下为你评估。
正如我所理解的那样,问题在于,如果你完成这项工作,那么Notify对象上的属性将始终设置为posts数组中的最后一个元素,就像在每次迭代中设置Notify一样object等于循环中的当前项。
更有意义的是,当您单击通知按钮并调用notify()函数时,在Notify对象上设置值,将其更改为包含当前行的post值。
<button class="btn btn-danger" ng-click="notify(post)" type="button">Notify</button>
像这样的小提琴:http://jsfiddle.net/CMnxW/1/