我在弄清问题是什么时遇到了麻烦:我的指令在编辑显示的列表中的项目后没有更新......
在我的控制器中:
cvm.getContactpersons = getContactpersons;
cvm.editContactperson = editContactperson;
// Get contactpersons
function getContactpersons(){
cvm.loadingContacts = true;
contactpersons.list().then(function(result){
cvm.contacts = result;
cvm.loadingContacts = false;
});
}
// Edit contactperson
function editContactperson() {
contactpersons.edit(cvm.contact).then(function(result){
cvm.getContactpersons();
});
}
联系人概述指令
<contacts-overview
ng-if="!ContactsCtrl.loadingContacts && ContactsCtrl.contacts.length"
contacts="ContactsCtrl.contacts"
filter="ContactsCtrl.searchContact">
</contacts-overview>
JS指令:
app.directive('contactsOverview', function(){
return {
restrict: 'E',
templateUrl: 'contacts-overview.html',
scope : {
contacts : '=',
filter : '='
},
controllerAs: 'ctrl',
bindToController: true,
controller: function(){}
}
});
在页面加载时,我致电ContactsCtrl.getContactpersons()
,加载所有联系人。该指令很好地显示了联系人列表。点击联系人时,您可以对其进行编辑。使用ContactsCtrl.editContactperson()
进行编辑后,我再次拨打ContactsCtrl.getContactpersons()
,但列表未更新...有什么想法发生了什么?即使是装载状态也没有改变......