繁体   English   中英

ng-repeat没有更新模型更改

[英]ng-repeat not getting updated on model change

我正在尝试更新有关模型更改的列表,但是有时ng-repeat起作用,有时却不起作用,有人可以帮忙我,为什么这会导致停顿,我从jQuery调用了角度函数,代码是:

angular.element($('#updateGroupPannel')).scope().prepareToUpdate(group);

这是被调用的角度函数和角度代码:

$scope.prepareToUpdate = function(group)
{
    $scope.groupId = group.id;
    $scope.usersPageChanged();
    $scope.adminsExistingPageChanged();
}
$scope.usersPageChanged = function()
{
    workbenchService.usersUnderAdminList($scope.currentUserPage).then(function(data)
    {
        $scope.usersExisting = data;
    })
};
$scope.adminsExistingPageChanged = function()
{
    workbenchService.groupAdminsList($scope.currentExistingAdminPage, $scope.groupId).then(function(data)
    {
        $scope.editGroup.admins = data;
    })
};

这是填充用户和管理员列表的html代码:

<form name="GroupUpdate" id="updateGroupPannel" ng-controller="updateController">
    <div ng-repeat="user in editGroup.appUsers track by $index">
       <div class="panel panel-default">
       <div>{{user.name}}</div>
    </div>

    <div ng-repeat="admin in editGroup.admins track by $index">
        <div class="panel panel-default">
            <div>{{admin.name}}</div>
        </div>
    </div>
</form>

问题是有时ng-repeat已为$ scope.usersExisting更新,但有时未更新,非常感谢您的帮助,谢谢

我发布了答案,因为它对遇到相同问题的人有帮助,这里的问题是承诺没有被束缚,我做了以下更改,现在可以正常使用了,

$scope.prepareToUpdate = function(group)
{
    $scope.groupId = group.id;
    $scope.usersPageChanged().then(function(){
        $scope.adminsExistingPageChanged();
    });
}
$scope.usersPageChanged = function()
{
    var promise = workbenchService.usersUnderAdminList($scope.currentUserPage).then(function(data)
    {
        $scope.usersExisting = data;
    })
    return promise;
};
$scope.adminsExistingPageChanged = function()
{
    var promise = workbenchService.groupAdminsList($scope.currentExistingAdminPage, $scope.groupId).then(function(data)
    {
        $scope.editGroup.admins = data;
    })
    return promise;
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM