Ng重复不随数组变化而更新
Ng-Repeat Not Updating With Array Change
我有一个使用ng repeat的联系人列表(我使用我的控制器作为vm),当我添加新联系人、编辑当前联系人或删除联系人时,它会更新,但当我尝试过滤列表时不会更新。这是ng重复
<div ng-repeat="contact in vm.contacts | filter:query | orderBy:'firstname' track by contact._id" class="list-item pointer" ng-class="{'dker': contact.selected }" ng-click="vm.selectContact(contact)">
以下是我的删除功能:
function deleteContact(contact){
vm.contacts.splice(vm.contacts.indexOf(contact), 1);
Stamplay.Object('contact')
.remove(contact._id, function(err, res) {
if(err) return console.log(err);
console.log(res);
})
selectOne();
};
这是我的过滤功能,它没有更新ng重复列表(我已经检查了vm.contacts是否正在更改):
function filterContacts(group){
angular.forEach(vm.contacts, function(contact){
if(contact.groups){
if(contact.groups.indexOf(group.groupname) === -1) {
vm.contacts.splice(vm.contacts.indexOf(contact), 1);
}
}
});
selectOne();
};
我尝试添加$scope.apply(),但这只是抛出了一个丑陋的错误
splice()
方法向数组添加项/从数组中删除项,返回删除的项。
参见mozilla 上的拼接
function filterContacts(group){
angular.forEach(vm.contacts, function(contact){
if(contact.groups){
if(contact.groups.indexOf(group.groupname) === -1) {
// assign the result to itself
vm.contacts = vm.contacts.splice(vm.contacts.indexOf(contact), 1);
}
}
});
selectOne();
};
相关文章:
- GoogleMapsForRails-只有在搜索结果发生变化时才通过ajax更新标记
- AngularJS视图没有'当ng模型值发生变化时,t更新
- ReactJS-这个状态中的数组在删除时被正确更新,但结果是't,直到以后的状态发生变化
- Ng重复不随数组变化而更新
- 如何在数量发生变化时自动更新合计
- 如何在 AngularJs 中的数据库发生变化时立即实现自动视图更新
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- 当Firebase数据发生变化时,Google 图表不会更新
- 一旦 JavaScript 中任何 HTML 元素的值发生变化,就会更新画布
- 检索到的 $().position() 更新为 position: absolute 后发生了变化
- 添加标记并在纬度和经度变化时更新标记
- Angular ngClass 没有更新我的类,即使我的条件按预期发生了变化
- Angularjs 指令更新到 DOM 属性值的变化
- 当角度$scope发生变化时,不要更新 HTML
- Spotfire Java脚本将字段拆分为唯一值,并每30秒更新一次MapChart可视化,以反映值的变化
- 范围变量以角度更新,但变化不会反映给用户
- 可观测集合发生变化时更新Div
- 用ng变化更新角度模型
- 根据可观察到的变化更新相关属性
- 粘头不会根据我的变化更新