Uygulamamda, bazı JSON verilerini getirip sayfa yüklenmeden önce bir diziye atamam gerekiyor.AngularJS söz veri yüklenmeden önce çözüldü
WalletController.resolve = {
getCards: function(CardService) {
CardService.fetchCards().then(loadView, showError);
}
}
Ve gerçek denetleyicisi, şu var: Ben şu var kontrolörün çözmek bloğunda
cards = [];
var cs = {
...
fetchCards: function() {
var d = $q.defer();
$http.get("data/cards.php").success(function(data) {
cards = data;
d.resolve();
}).error(function(data, status) {
d.reject(status);
});
return d.promise;
},
getCards: function() { return cards; };
...
}
: Bu Cardservice hizmetini kullanarak JSON getirilirken benim kodudur
Sorun, hizmetteki fetchCards işlevinin, JSON verilerinin kart değişkenine atanmasından önce vaat edilen çözümü çözdüğü görülüyor. Bu, birkaç kez yenilenip şanslı hale gelene kadar boş verilerle yükleme yüklememe yol açar.
Konsolda kart değişkenini günlüğe kaydettiğimde olduğu gibi geç yüklemeyi onaylayabilirim, satır 122'de (görünümüm yüklendiğinde) boş bir dizi ve satır 57'deki bir tam dizi (JSON çağrısı başarılı olduğunda)). Satır 57'nin kodu, görünümü yüklendikten sonra bir şekilde 'u çalıştırır.
Bunu nasıl düzeltirim?
Ben eşcinsel değilim, ama seni öpebilirim şimdi!!! Bu her şeyi çözdü. Sağol millet! – kshep92
Veriler yüklenmeden önce görünüm oluşturma ile ilgili sorunla ilgili olarak, sorunun sözün beyan edildiği ve çözüldüğü/reddedildiği yer olduğunu fark ettim. Bu fiddle bir göz atın: http://jsfiddle.net/kshep92/stdwj/3/ – kshep92
'angular.copy (veri, kartlar)' da çalışacaktır. [Copy()] 'a bir hedef verildiğinde (http: // docs.angularjs.org/api/angular.copy) yöntemi, önce hedefin unsurlarını siler ve daha sonra yeni olanları kaynaktan kopyalar. –