0
Verileri denetleyiciye yükleyemiyorum, undefined dönüş.AngularJS: Veri denetleyicideki json'u fabrikadan yükle
app.factory('factoryLlamada', function($http,$q) { return{
cargar: function(archivo) {
var deferred = $q.defer();
$http.get(archivo).success(function(data) {
deferred.resolve(data);
})
.error(function(error) {
deferred.reject(error);
});
return deferred.promise;
}
}});
Ve bu denetleyicisi: Sorunun hangi bilmiyorum
app.controller('ctrlProducts', function(factoryLlamada) {
this.saludo = 'Hola'; //this work's
factoryLlamada.cargar('prueba.json').then(function(data) {
this.datos = data;
console.dir(data); //return json object (ok)
console.dir(datos); //return undefined
})
.catch(function(error) {
console.log('Se ha producido un error: '+error);
});
});
...
" Hola "çalışır" – amanuel2
"this" den "this.saludo", geri bildirimin dışında olduğu için denetleyiciye başvurur. Ama bu, this.datos için geçerli değil. –
Bu cevap doğru. $ Kapsamı yerine 'this' kullanarak dikkatli olmalısınız. Bu durumda iç içe işlevdeki 'bu', denetleyicideki 'bu' ile aynı değildir. – jbrown