0

我想更新模型更改列表,但有時ng-repeat的作品,有時它沒有,有人可以幫助我,爲什麼這是頭髮 我要求角從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> 

的問題是有時NG重複獲取$ scope.usersExisting更新,但有時它不得到更新,任何幫助表示高度讚賞,感謝

+0

在繼續之前,你爲什麼你打從jQuery的一個角的功能?有很少的情況下,你實際上必須這樣做。 –

+0

我正在使用jsTree插件的項目上工作,所以我沒有選擇,只能在選擇樹的節點時從jquery調用angular。 。有沒有更好的方式來實現這個請讓我知道,謝謝你的回覆 –

+0

你可能需要原生的角度樹實現。我有一個,可以與你分享。它獲取完整的json作爲輸入並顯示覆選框的樹狀結構。如果選中值的ID,則控件的值是一個數組。它也可以恢復數據。如果你需要它,我可以給你代碼,所以你可以根據你的需要定製代碼。 – 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; 
};