我使用移动角度ui打开和关闭侧边栏。在此侧栏中,用户可以搜索人员并在阵列中添加或删除这些人员。
我有这个重复,显示点击<a ...></>
关闭边栏的人员数组:
<li ng-repeat="recipient in persons.recipients">
<span class="wrapper">
<span class="imageWrap">
<span class="initials">
{{recipient.firstName.charAt(0)}}{{recipient.lastName.charAt(0)}} </span>
</span>
<a href="" class="trash" ng-click="removeRecipient($index);"><i class="fa fa-trash-o" aria-hidden="true"></i></a>
<span class="details">
<span class="info">
{{recipient.firstName}} {{recipient.lastName}}
<span class="persnr">{{recipient.employeeID}}</span>
</span>
</span>
</span>
</li>
上面的html代码段来自侧栏中的指令。
removeRecipient($index);
函数如下所示:
$scope.removeRecipient = function(index) {
$scope.persons.recipients.splice(index,1);
}
该功能有效,但关闭了侧边栏,我无法弄清楚为什么会这样做。因此,每次用户移除收件人时,都必须再次打开侧边栏。如何保持侧边栏打开?
参考文献:
解
我通过在$event.stopPropagation();
函数后面的ng-click
添加removeRecipient($index);
来解决我的问题。
答案 0 :(得分:1)
来自doc,有一行。
你可以把ui-turn-off ='uiSidebarLeft'或ui-turn-off ='uiSidebarLeft' 在侧边栏内部,单击其中的链接后将其关闭。
也许你可以使用它,或者你可以使用,或者你可以这样做。
e.stopPropagation()
为此你需要在
中传递$ event<a href="" class="trash" ng-click="removeRecipient($index,$event);"><i class="fa fa-trash-o" aria-hidden="true"></i></a>
所以在代码中,你可以写。
$scope.removeRecipient = function(index,e) {
if(e){
e.stopPropagation()
}
$scope.persons.recipients.splice(index,1);
}
我没有使用相同的工具,但可能是这个问题。