【发布时间】:2016-09-10 16:27:09
【问题描述】:
我正在创建一个示例应用程序,其中我有用于获取类的 API 调用
http://localhost:8080/school/4/classes
我为此创建了一个服务
appServices.service( 'classService', ['$http', '$q',
function($http,$q){
this.getClass = function() {
var classes = $q.defer()
$http.get( "http://localhost:8080/school/4/classes" )
.then(function(data) {
classes.resolve(data)
});
return classes.promise
}
}])
我有两个控制器,分别是 ctrl1 和 ctrl2,在这两个控制器中我都有服务代码
classService.getClass().then(function(data) {
$scope.classList = data.data.classes
})
我的问题是发生了两次 api 调用,我们可以将许多 api 调用减少到一次,因为我的数据不会被更改。我已经尝试过{ cache: true },但没有运气
谢谢
【问题讨论】:
-
你试过调试你的
controller吗?何时调用classService.getClass()方法?有时(由于错误的路由或不正确的事件绑定)方法可能会被多次调用。所以你的这段代码可能没有任何问题。
标签: angularjs