Angularjs删除JSon对象
Angularjs delete JSon object
所以我在这里没有什么困难。我有一个嵌套的json对象,它在ng repeat中,可以使用AngularJS UI sortable(基于JQuery UI sortable)进行排序:
$scope.rootItem = {
id: '1',
type: 'course',
title: 'Adobe Photoshop CC for beginners',
items: [{
id: '2',
type: 'label',
title:'label',
items:[{
id: '3',
type: 'module',
title:'Module title',
items: [{
id: '4',
type: 'topic',
title:'Topic title',
items: [{
id: '5',
type: 'content',
title:'Content title'
}, {
id: '6',
type: 'content',
title:'Content title'
}]
}]
},{
id: '7',
type: 'resources',
title:'Resources'
},{
id: '8',
type: 'module',
title:'Module title',
items: [{
id: '9',
type: 'topic',
title:'Topic',
items: [{
id: '10',
type: 'question',
title:'Question title'
}]
}, {
id: '11',
type: 'topic',
title:'Topic title',
items: [{
id: '12',
type: 'content',
title:'Content title'
}]
}]
}]
},{
id: '14',
type: 'assessmentLabel',
title: 'Assessment Label',
items: [{
id: '15',
type: 'assessment',
title: 'Assessment Title',
items: [{
id: '16',
type: 'courseAssessment',
title: 'Course Question Group',
items: []
}]
}]
}]
};
我应该能够做的是删除这个对象中的任何项目,如果它有任何子项,也需要删除它们。
所以我通常认为传递$index并使用splice来移除它(如果它是一个数组)。
但对于似乎不这样工作的对象,我在网上读到应该使用delete。。。
在我的按钮上,我试图传递对象本身,如:
data-ng-click="removeItem(ngModelItem)"
在我的控制器中做这样的事情:
// Remove Item from the list
$scope.removeItem = function(item) {
};
有什么建议吗?
使用ngModelItem
<li ng-repeat="innerItem in ngModelItem.items">
<a href="#" ng-click="deleteItem(ngModelItem.items, $index)">Delete me</a>
在您的控制器中,
$scope.deleteItem = function(collection, index){
collection.splice(index,1);
};
演示
要从json对象中删除json元素,请使用delete运算符。但在您的情况下,我假设您想从json数组中删除一个json对象,所以您应该真正使用splice()。
您应该在removeItem()
函数中同时接收列表和索引,这样您就可以删除索引元素,angularjs将更新您的视图。
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 用javascript从列表对象(JSON的)构建diffrent选项卡
- php请求带有多个对象json-jquery
- AngularJS,过滤器:如何将一个巨大的对象(JSON)变成一个数组
- 动态属性对象 - JSON
- JavaScript 对象 (JSON) 中的动态设置值
- 从数组查询获取对象 JSON 值时出错
- 使用jQuerygetJSON将多维对象JSON转换为HTML
- 需要从 Angular JS 应用程序中的另一个 JSON 对象数组填充 JSON 数组的每个对象 JSON 对象数组
- 嵌套对象JSON排序JavaScript
- PHP在MySQL中保存来自Javascript的对象"JSON.stringify"通过Ajax
- 将JavaScript对象/ JSON转换为PHP数组
- JSON对象.JSON对象内部
- 访问对象的对象- JSON API
- 数组到对象JSON
- Message":"传入的无效对象(JSON数据格式化问题)