У меня возникли проблемы с этим способом решения множества параметров в контроллере модального, такие как:AngularJs контроллера решительность зависимости
controller : 'MyController',
controllerAs : 'vm',
resolve : {
resolveInfo : function(REST){
var resolveInfo = {}
return REST.doGet('/things/').then(
function(thingsResponse){
resolveInfo.things = thingsResponse.data;
return REST.doGet('/stuff1/' + '/mystuff/' + resolveInfo.things[0].id).then(
function(stuff1Response){
resolveInfo.stuff1 = stuff1Response.data;
return REST.doGet('/stuff2/' + '/mystuff/' + resolveInfo.stuff1[0] + '/' + resolveInfo.things[0].id).then(
function(stuff2Response){
resolveInfo.stuff2 = stuff2Response.data;
return resolveInfo;
}
);
}
);
}
)
}
затем в «MyController» я беру эти три объекта из resolveInfo. Но я бы ожидать чего-то, как это будет работать:
controller : 'MyController',
controllerAs : 'vm',
resolve : {
things : function(REST){
return REST.doGet('/things/').then(
function(thingsResponse){
return thingsResponse.data;
}
)
},
stuff1 : function(REST, things){
return REST.doGet('/stuff1/' + '/mystuff/' + things[0].id).then(
function(stuff1Response){
return stuff1Response.data
}
);
},
stuff2 : function(REST, stuff1, things){
return REST.doGet('/stuff2/' + '/mystuff/' + stuff1[0] + '/' + things[0].id).then(
function(stuff2Response){
return stuff2Response.data;
}
);
}
Но это вопит неизвестный поставщик на «вещи»
Есть ли способ для достижения этой цели?
Вам нужно использовать $ q.all() ... он будет ждать все ресурсы перед продолжением. –