【发布时间】:2015-04-03 11:57:02
【问题描述】:
在过去的几天里,我花了很多时间研究 AngularJS,它现在开始全部点击 :) 但我似乎无法回答的一个问题是我如何让我的工厂以 JSON 格式返回数据- 不是承诺,或者即使我应该这样做!
有几个原因我看不到结果,A) 承诺不完整,B) 我不应该这样做,实际上应该坚持使用控制器中的“then()”。理想情况下,我想在控制器中写一行,但除非我遵循示例中的模式,否则我总是得到一个未定义的。
我是否在我不需要的地方违背了这一点?
// Will go into application.js
(function () {
var app = angular.module("ngOrderApp", []);
}());
// Will go into orderFactory.js
(function () {
var order = function ($http) {
var getOrdersJson = function () {
return [{ OrderId: 101 }, { OrderId: 102 }, { OrderId: 103 }];
}
var getOrdershttp = function () {
return $http.get('api/order')
.success(function (result) {
return result.data;
});
}
return {
getOrdersJson: getOrdersJson,
getOrdershttp: getOrdershttp
};
}
var app = angular.module("ngOrderApp").factory("order", order);
}());
// Will go into orderController.js
(function () {
var app = angular.module("ngOrderApp").controller('OrderController', function ($scope, order) {
$scope.jsonorders = order.getOrdersJson();
order.getOrdershttp().then(function (result) {
$scope.httporders = result.data;
});
});
}());
【问题讨论】: