AngularJS指令和控制器没有绑定

时间:2017-11-16 10:18:27

标签: angularjs angularjs-directive

我在弄清问题是什么时遇到了麻烦:我的指令在编辑显示的列表中的项目后没有更新......

在我的控制器中:

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(),但列表未更新...有什么想法发生了什么?即使是装载状态也没有改变......

0 个答案:

没有答案