Ich habe eine AngularJS 1.5 Richtlinie:Wie setze ich eine Variable in einem AngularJS Callback?
var assetSearchService = function(proService) {
var assets = [];
var searchAssets = function(searchTerm){
proService.searchAssets(searchTerm).then(function(data){
assets = data.data;
});
};
return {
searchAssets, searchAssets,
assets: assets
};
};
Wenn ich versuche assetSearchService.assets
in meinem Controller zu verwenden, nachdem Suche aufrufen, werden die Daten in assetService.assets
nicht gesetzt.
Wenn ich die Daten protokollieren, nachdem die searchAssets
Versprechen zurückgibt, bekomme ich Daten.
this.assets
funktioniert nicht so wie bekomme ich die Variable aus dem Rückruf zurück?
statt * Ersetzen * 'assets' in Ihrem Rückruf erreichen, Sie sollten die Daten in das vorhandene Array schieben. Probieren Sie 'assets = assets.concat (data.data);' – Claies
Nein, die Assets verweisen nicht auf die ursprünglich deklarierten 'var-Assets'. – mikeb
tut es, aber Sie ersetzen es innerhalb des Callbacks mit einem anderen Array, das die eckigen Bindungen bricht – Claies