uygulamam Uygulamamı bir işletme listesi sağlayan bir AngularJS fabrikası yapmaya çalışıyorum. Ama bu ilk kez çalıştırılan değişkeni elde edemiyorum. Ama aralık çalıştırıldıktan sonra, değişkeni alırım. Herhangi nasıl,AngularJS fabrikası veriyi ilk kez döndürmez, ancak aralık aramalı yöntemden sonra
angular.js:12783 Error: [$injector:undef] Provider 'businessList' must return a value from $get factory method
Ama benim çözüm hatalı olduğunu düşünüyorum:
bu sayfada konsolda ilk çalıştırmada olsun? Beni buraya doğru yönlendiren var mı? Örneğin rootScope burada iyi bir fikir kullanıyor?
İstediğim, uygulamamdaki, ziyaretin başlangıcında toplanan ve kendini bir zamanlayıcı ile güncelleyen, dünyanın her yerinde erişilebilen bir işletme listesidir. Bu yüzden ben sadece bu listede bulabildiğim laravel arka ucundan gelen istemli istekleri aramak zorunda değilsiniz .. benim fikrim.
Fabrika:
myApp.factory('businessList', ['$interval', '$http', '$rootScope',
function($interval, $http, $rootScope) {
function bedriftliste() {
$http.get('get/allebedrifter')
.then(function(result) {
bedrifter = result.data;
$rootScope.bedrifter = bedrifter;
});
return $rootScope.bedrifter;
}
var bedrifter = bedriftliste();
// start periodic checking
$interval(bedriftliste, 5000);
return bedrifter;
}
]);
Kontrolör
myApp.controller('bsC', ['$rootScope', '$scope', 'businessList',
function($rootScope, $scope, businessList) {
$scope.allebedrifter = businessList;
}]);`
nedenle gibi iyi çalışıyor gibi görünüyor. Yalnızca $ http yanıtı çözüldükten sonra değerleri vardır. – sdfacre
Evet, ama bu işe yaramıyor: $ rootScope.bedrifter = bedriftliste(); –
tabi ki çalışmıyor. Herhangi bir cevap vermeden hemen önce, $ http ile başka bir çalışma servisiniz var mı? eğer evet, neden bu hizmeti bu şekilde yazıyorsun? Sadece $ http ve sözlerini bildiğinden emin olmak için. – sdfacre