当通过http请求动态插入值时,Angularjs ng-repeat不会更新

时间:2016-01-08 23:41:50

标签: javascript angularjs

我正在使用http获取一些数据并更新$scope.comments变量。然后我用ng-repeat显示它,但是变量正确更新但ng-repeat不起作用。这是javascript:

$scope.updateComments = function(taskId){
    var contentInput = document.getElementById(taskId);
    contentInput.value = '';
    $http.get('/loadTask/'+taskId).success(function(task){
        angular.forEach(task.comments,function(comment){
            $http.get('/loadComment/'+comment).success(function(c){
                $scope.comments[comment] = c;
                console.log('Comments now',$scope.comments);
            });
        });
    });
}

我无法使用$scope.$apply,因为它已被$http请求调用。 这是html:

   <div class="row">
            <div class="col-sm-12 col-md-12 col-lg-12">
                {{comments}}
                <div class="comments" ng-repeat="comment in task.comments track by $index">


                    <p><a href="{{comments[comment].author}}">
                        {{comments[comment].author}}    
                    </a>{{comments[comment].content}}</p>

                </div>
            </div>
        </div>

此外{{comments}}正在正确更新。 任何人都可以帮助我,提前谢谢!

0 个答案:

没有答案