2015-04-28 2 views
0

Я использую angularjs для интеграции моего apis.Как удалить элемент из объекта json в angularjs

У меня есть таблица сетки и кнопка DELETE в каждой строке.

мой контроллер имеют следующий код:

$scope.singleAppDetails = {}; 

$scope.removeRow = function(detail, index){    

     var delRes = $http.delete($scope.appUrl + detail.id, detail); 
     delRes.success(function (data, status, headers, configs) { 
      console.log(data); 
     }); 
     delRes.error(function (data, status, headers, configs) { 
      console.log(data); 
     }); 
     $scope.singleAppDetails.splice(index, 1); 
    }; 

и $ scope.singleAppDetails содержит:

Object {id: "553e20fce4b0f4eb7d13fd13", name: "Amazon", appId: "3ebc86ea-62a7-419f-9f60-dc88b66efa6e", secret: "n9prQ8YSdcxuBAcQ1PX4DUeOUBZoAKqBHnCONrueGoUTE8pqFZ", domain: "e-commerce"} 

Но я получаю "TypeError: $ scope.singleAppDetails.splice не является функцией" Ошибка в консоли.

+0

Ваш вопрос непонятно мне! Что вы хотите сделать точно? - пожалуйста, поделитесь своим html-кодом, который имеет 'ng-repeat' -HTH;). –

ответ

0

Вы получаете эту ошибку, поскольку сплайсинг - это метод только для массивов, а $ scope.singleAppDetails - это объект в вашем коде.

+0

так есть ли способ удалить элемент из объекта json? – mahendrakawde

+0

Посмотрите здесь: http://stackoverflow.com/questions/208105/how-to-remove-a-property-from-a-javascript-object –

0

splice() - это функция массива. См. documents.

Вы определяете singleAppDetails как объект:

$scope.singleAppDetails = {}; 

Ответ: Удалить идентификатор с:

delete $scope.singleAppDetails.id; 

Смотрите этот пример на JSBin.

Смежные вопросы