2
我有一个ng-repeat项目列表,每个项目都有一个删除按钮。删除按钮的动作是一些Ajax请求。我的问题是,如果用户在删除按钮上单击多次,我的api调用将失败,因为它在第一次单击时被删除,而传递ID在第二次单击中无效。 我想在第一次点击后取消绑定点击并重新绑定我的ajax请求成功回调。在第一次点击后取消绑定元素的单击事件并在角度js后执行操作后重新绑定它
这是我曾尝试是
HTML
<li ng-repeat="labels in addedLabels track by $index">
{{labels.Label.label_name}}
<button ng-click="removeLabel(labels.label_id, labels.module_id,$index,true,$event);">
</button>
</li>
控制器中
$scope.removeLabel = function(label_id,module_id,index,popup,event){
$(event.currentTarget).off('click')
opts.url = SERVER_URL + 'path';
opts.data = {
label_id: label_id,
module_id : module_id
};
$http.post(opts.url,opts.data)
.then(function(response){
// some action
},function(err){
// error action
}).finally(function(){
$(event.currentTarget).on('click')
})
你好潘卡, 我已经尝试过了。但它也删除了下一个元素。 我已经点击第一个元素2次,然后第一个和第二个元素被删除 – Jennifer
@Jennifer可能是错误的处理从数组中删除该标签的代码。 – kappaallday
我已编辑我的问题。代码添加删除数组中的标签。 另外,当我把我的$ http请求放在$超时它工作正常。我不确定发生了什么事 – Jennifer