我通过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)
}
请帮助我,我的时间不多了
答案 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>