로컬 CSV 파일에서 데이터를 읽는 각도 앱이 있습니다. 그러나 때로는 (시간의 10-20 %) 데이터가 바운드 된 것처럼 보이지 않으므로 내 페이지에 모든 {{data}}
보간이 누락되어 있습니다. 그러나 페이지를 새로 고치면 (때로는 여러 번의 새로 고침이 필요함) 데이터가 결국 나타납니다.데이터가 템플릿에 바인딩되거나 업데이트되지 않습니까?
문제점을 파악할 수 없습니다. 앱이 로컬 CSV 파일에서 데이터를 읽는 중이므로 데이터를 가져 오는 데 문제가 없어야하며 어쨌든 프로세스가 결정적이어야합니다.
또한 데이터를 콘솔에 기록하면 콘솔에 데이터가 적절히 표시됩니다. 어떤 이유로 든 페이지에 표시되지 않습니다. (예 : 내 페이지의 {{company.name}}
이 비어 있지만 $scope.company = ....
변수를 설정 한 직후 내 코드에서 console.log(company.name)
을 호출하면 내 회사에 회사 이름이 표시됩니다.)
어떤 아이디어가 문제 일 수 있습니까? Angular가 변수가 어떤 이유로 설정/업데이트되는 것을 모르는 문제입니까?
EDIT : 내 컨트롤러와 HTML이 다소 비슷해 보입니다.
var app = angular.module("app", ["ngRoute", "ngSanitize"]);
app.controller("CompaniesController", ["$scope", "$http", "$routeParams", "$window", "FlashService", "$location", function($scope, $http, $routeParams, $window, FlashService, $location) {
$scope.data = [];
$scope.index = parseInt($routeParams.i === undefined ? 0 : $routeParams.i);
d3.csv("data/data.csv", function(data) {
$scope.data = data;
$scope.company = $scope.data[$scope.index];
});
}]);
<h1>{{company.name}}</h1>
는 – Vitalii
그래, 내가 JS 콘솔을 확인 - 오류가 없습니다. – grautur
내가 아는 것 같아. csv 로딩 후 다이제스트가 실행되지 않는 문제가 있습니다. $ asyncApply 또는 $ timeout을 사용하여 수동으로 실행해야합니다. pls – Vitalii