当我通过动态ID时,视图没有在角度js中上升

时间:2015-08-09 08:54:02

标签: javascript angularjs

我通过ng-init方法将动态id传递给控制器​​中的方法并通过ajax调用获取响应。我正在尝试打印没有打印的响应。我使用ng-repeat重复列表并为列表中的每个元素调用ng-init。但是,响应即将到来,而不是更新。

HTML代码

<div class="col-xs-12 chalg-list" ng-repeat="element in elements">
 <div class="col-sm-10 col-xs-9 pzero" ng-init="getActivity(element.id)">               
 <p><span>Activity Names</span> <span>{{names._element.id}}</span></p> 
 </div>
 </div>



Javascript code



$scope.getActivity(_id){
//getting response through ajax calls    
            $scope.names._id = data; //here every time dynamic id will come but the view not getting updated
        console.log($scope.activities._id)     
  }

请帮助我,我的时间不多了

2 个答案:

答案 0 :(得分:1)

似乎Angular的$ digest周期没有被解雇。如何通过$http服务或其他方式检索AJAX内容? $scope.$appyAsync()很可能会有所帮助。

编辑:值得注意的是,如果你有机会让Angular为你做,你应该使用它。例如,Angular的$http服务会自动触发$ digest循环。

答案 1 :(得分:0)

我看到你的控制器中有元素。为什么需要从视图中调用getActivity?为什么不从控制器更好地完成所有这些操作并只使用ng-repeat来显示数据?

你的控制器里会有这样的东西:

var arrElements = [1,2,3]; // your id's here
$scope.elements =[]; 
arrElements.forEach(function(item){
   // get your data here for every id $http .... 
   // push it into the emelents
   $scope.elements.push( .... );
});

在您看来:

<div class="col-xs-12 chalg-list" ng-repeat="element in elements">
     <!-- show your data here -->
     {{element}}
</div>
相关问题