<script>
var app = angular.module('myApp', ['ngMaterial']);
app.factory('factoryProvider', function ($http, $q) {
var facObj = {};
facObj.getLastWorkplace = $http.get('plugins/wcf-service/ServiceProvider.svc/getLastWorkPlacesJSON')
.then(function (response) {
return response.data;
});
return facObj;
});
app.controller('dashboardController', function ($scope, factoryProvider) {
factoryProvider.getLastWorkplace.then(function (successResponse) {
$scope.wp = successResponse;
console.log('inside');
console.log($scope.wp); // Return an object that I want
});
console.log('outside');
console.log($scope.wp); // $scope.wp is empty
});
Das Protokoll außerhalb Konsole läuft zunächst innerhalb der Konsole ist der zweite ist. Das Problem ist, dass $ scope.wp nur Daten in getLastWorkplace Callback-Funktionen abrufen kann und keine Daten an ng-model (mit wp.property) binden kann. Wie man es löst? Vielen Dank für Ihre Lesung
Mögliche Duplikate von [AngularJS Factory http gibt leer] (http://stackoverflow.com/questions/16336987/angularjs-factory-http-returns-empty) – csbarnes
Ich denke, Sie sollten ein $ Versprechen verwenden, um das Objekt zu binden. –
Ok, es funktioniert außerhalb aber $ scope.wp ist ein $$ Zustand : Objekt. Wie kann ich auf die Daten zugreifen? –