Powiedzmy mam ładowania zmiennej do $ zakresie z $ http:angularjs dyrektywa załadunku przed danymi
$http.get('/teachers/4').success(function(data){
$scope.teacher = data;
});
Mój szablon wykorzystuje te dane:
Teacher: {{teacher.name}}
<students-view students="teacher.students"></students-view>
Dyrektywa ta może załadować PRZED nauczyciel kończy ładowanie, ale mój dyrektywa ma kod, który zależy od tablicy teacher.students ładowane:
app.directive('studentsView', function(){
return {
scope: { students: '=' },
controller: function($scope){
_.each($scope.students, function(s){
// this is not called if teacher loads after this directive
});
}
};
});
Jak to zrobić uzyskać zachowanie, które chcę tutaj? Nie chcę przestać używać $ http i nie chciałbym, jeśli to możliwe, przypisać obietnicy do zakresu.
co się dzieje w pętli? Można umieścić tę pętlę wewnątrz odwołania zwrotnego sukcesu w kontrolerze, jeśli to pomaga lub przenosi całe żądanie do usługi – charlietfl