【发布时间】:2016-10-27 17:36:52
【问题描述】:
<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
});
外部控制台日志首先运行,内部控制台日志是第二个。问题是 $scope.wp 只能在 getLastWorkplace 回调函数中获取数据,它不能将数据绑定到 ng-model(使用 wp.property)。如何解决? 感谢您的阅读
【问题讨论】:
-
我认为你应该使用 $promise 来绑定对象。
-
好的,它在外面工作,但 $scope.wp 是一个 $$state : 对象。如何访问数据
标签: angularjs asynchronous factory httpservice