Bu yüzden, sunucuda, sayfa yüklendiğinde ng-yinelemek istediğim bir nesne koleksiyonum var.
Ben, sunucudaki bir kaynaktan liste getirilen bir fabrika yapılmış şöyle olmuştu:
app.factory('objectArray', ['$http', function($http) {
// This is returning a $$state object
// instead of response.data...
return $http.post('/get_collection').then(function(response) {
console.log(response.data);
return response.data;
});
}]);
Ben ui-yönlendirici ve kararlılık özelliğini kullanırken önce bu kod işi yaşadım durum beyanı. Ancak bu fabrikayı doğrudan denetleyiciye enjekte ederken, response.data almak yerine bir $$ durum nesnesini alıyorum.
Benim kontrolör şöyle görünür:
app.controller('applicationController', ['$scope', 'objectArray', function($scope, objectArray) {
$scope.array = objectArray;
console.log($scope.array);
}]);
Olası kopyalar ?] (http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call); (bkz. [bu çoğaltıcı] (http://stackoverflow.com/questions/22951208/return-value-after-a-promise) aswell) – Kenney
@Kenney En çok merak ettiğim şey budur. ek kod, ancak bu durumda {$$ state: object} var –
emin değilim, ama ['Promise.then'] 'den değerleri döndüremezsiniz (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Referans/Global_Objects/Promise/sonra). Yaklaşımınız bu gibi bir şey miydi (https://github.com/angular-ui/ui-router/issues/77)? – Kenney