$ scope를 사용하여 항상 작동하는 데 사용되었습니다. $ http 요청에 $ 적용이 무엇이 있습니까? 먼저 "Digest cycle is already in progress"메시지를 얻었습니다. msg를 없애고 여전히 데이터를 업데이트하지 않는 setTimeout()을 추가했습니다. 이것은 문제가되어서는 안되며, 분명히 뭔가 빠져 있습니다.
html로 :
<form name="userDataForm" role="form" ng-submit="submit()">
<input type="text" name="userId" placeholder="Enter User ID" ng-model="viewModel.useId" />
<input type="text" name="start" placeholder="Start Date: dd-mm-yyyy" ng-model="viewModel.startDate"/>
<input type="text" name="end" placeholder="End Date: dd-mm-yyyy" ng-model="viewModel.endDate"/><br/>
<button type="submit">
Get Data
</button>
<ul ng-repeat="place in viewModel.userData.data.significant_places">
<li>
You have been at <span style="color:red;">{{place.name}}</span> <span style="color:red;">{{place.number_of_days}}</span> days this month
</li>
<ul>
JS이 잘 작동해야
$scope.viewModel = {
userId:'',
startDate:'',
endDate:'',
userData:{}
};
$scope.submit = function(){
setTimeout(function(){
$scope.$apply(function(){
$http.get('http://localhost:3000/?user_id=279&start=20150101&end=20150113').success(function(data){
$scope.viewModel.userData = data;
}).error(function(){
console.log('error');
});
});
}, 1)
};
여기에 목표에 대한 정보를 추가해야합니다. 본능적으로, 나는 이것이 이것을하는 가장 쉬운 방법이라고 생각하지 않는다. – Casey
어째서 http 호출을'$ apply'로 감쌀 것입니까? 또한 반환 된 데이터에는'data : {significant_places : [...'? – zeroflagL