gpt4 book ai didi

javascript - 填充数据时如何调用 ng-repeat?

转载 作者:行者123 更新时间:2023-11-30 08:38:01 25 4
gpt4 key购买 nike

我正在尝试基于异步填充的数组生成多个 div。

<div ng-controller=visCtrl>
{{categories}} <!-- prints nothing -->
<div ng-repeat="item in categories">
some test text

</div>
</div>

一段时间后类别被填充。

但是没有生成 div,因为调用时 categories 是空的。

如何生成多个 div?

Controller 代码如下:

var myApp = angular.module('myApp', ['ui.utils']);
//some lines clipped in between
myApp.controller('visCtrl', function($scope) {
d3.csv($scope.dataFile,function(d){
$scope.opendata=d;



var obj=$scope.opendata[0];
$scope.categories=[];
for(var key in obj){
if(key!=="STATE/UT"&&key!=="DISTRICT"&&key!=="YEAR"){
$scope.categories.push(key);
}
}
console.log($scope.categories);

});
});

最佳答案

<div ng-repeat="item in categories">
some test text
</div>

这段代码没问题。 ng-repeat 应该在 categories 更改时更改 DOM。如果没有,那么 Angular 就不知道这些变化。

首先,确保分配给正确的类别($scope 上的类别,而不是局部变量或其他东西)。

接下来,如果您通过 jQuery AJAX 调用(例如)填充它,那么它就超出了 Angular 的生命周期。您需要通过调用 $scope.$apply() 告诉它事情发生了变化。读这个,例如:https://github.com/angular/angular.js/wiki/When-to-use-$scope.$apply()

关于javascript - 填充数据时如何调用 ng-repeat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29701921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com