Diciamo che sto caricando una variabile in $ portata con $ http:AngularJS carico di direttiva prima che i dati
$http.get('/teachers/4').success(function(data){
$scope.teacher = data;
});
mio modello utilizza questi dati:
Teacher: {{teacher.name}}
<students-view students="teacher.students"></students-view>
Questa direttiva può caricare PRIMA insegnante finisce caricamento, ma la mia direttiva ha codice che dipende dall'array teacher.students che viene caricato:
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
});
}
};
});
Come faccio ottenere il comportamento che voglio qui? Non voglio smettere di usare $ http, e vorrei non dover assegnare una promessa all'ambito, se possibile.
cosa sta succedendo nel loop? È possibile inserire quel loop all'interno della callback di successo nel controller se questo aiuta o sposta l'intera richiesta a un servizio – charlietfl