有没有办法以角度初始化某些服务,这样你就不必重复调用它?例如
services.factory('Util', ['$http', function($http) {
return {
countries: function() {
return $http.get('/utils/countries/');
},
ivas: function() {
return $http.get('/utils/ivas/');
}
};
}]);
我在多个控制器中使用此服务,加载所有功能需要很长时间。
提前致谢。
答案 0 :(得分:1)
您可以使用类似的内容,确保在通过调用Util.init()
初始化应用程序时调用init方法,然后数据将仅从服务器获取一次,并且您可以在任何地方使用
services.factory('Util', ['$http', function($http) {
var me = {
data: {
countries: [],
ivas: []
},
init: function() {
me.data.countries = $http.get('/utils/countries/');
me.data.ivas = $http.get('/utils/ivas/');
},
getCountries: function() {
return me.data.countries;
},
getIvas: function() {
return me.data.ivas;
}
};
return me;
}]);