0

Я пытаюсь обновить список по изменению модели, но несколько раз работает ng-repeat, и иногда это не помогает, может кто-то мне помочь, как в том, почему это hapenning Я вызываю угловой функция из JQuery код:ng-repeat не обновляется при изменении модели

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> 

Проблема в том, иногда нг-повтор обновляется за $ scope.usersExisting, но иногда оно не обновляется, любая помощь высоко ценится, благодаря

+0

Прежде чем продолжить, почему ты звонишь угловую функцию из JQuery? Очень мало случаев, когда вы действительно должны это делать. –

+0

Я работаю над проектом, в котором используется плагин jsTree, поэтому у меня нет опции, но для вызова углового из jquery, когда выбран узел дерева. , есть ли лучший способ достичь этого, пожалуйста, позвольте мне kno, спасибо за ответ –

+0

Возможно, вам понадобится встроенная реализация углового дерева. У меня есть один и вы можете поделиться им с вами. Он получает полный json в качестве входных данных и отображает древовидную структуру флажков. Значение элемента управления - это массив, если идентификаторы проверенных значений. Он также может восстанавливать данные. Если вам это нужно, я могу дать вам код, так как вы его настраиваете для своих нужд. – megapotz

ответ

0

Я отправляю ответ, как это клещ быть полезным для кого-то застрял с той же проблемой, проблема здесь была обещания не были прикованы я сделал следующие изменения и теперь прекрасно работает,

$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; 
}; 
Смежные вопросы