[英]How javascript select remote-data.service
我买了一个应用。 我是Javascript和AngularJS的新手。 我正在尝试遵循代码,但我不明白homeService.js上的函数如何知道必须使用remote-data.service.js
这是home.controller.js
...
(function activate() {
...
loadCategories();
...
})();
...
// ...............................
function loadCategories() {
debugger;
homeService.getFeaturedCategories()
.then(function(categories) {
vm.categories = categories;
});
}
该函数调用homeService.getFeaturedCategories()。 所以....
home.service.js
function getFeaturedCategories() {
return dataService.getFeaturedCategories();
}
对dataService.getFeaturedCategories()的函数调用这是data.service.js调用remoteDataService.js时,此文件生成hhtp.get(我粘贴了data.service.js的完整代码):
(function() {
'use strict';
angular
.module('restaurant.common')
.factory('dataService', dataService);
dataService.$inject = ['ENV', '$injector'];
/* @ngInject */
function dataService(ENV, $injector) {
switch(ENV.dataProvider) {
case 'LOCAL':
return $injector.get('localDataService');
case 'REMOTE':
return $injector.get('remoteDataService');
case 'FIREBASE':
return $injector.get('firebaseDataService');
}
throw new Error('Data provider is not valid');
}
})();
我想知道:
谢谢!
在您的Home.service中,您应该有如下几行:
homeService.$inject = ['dataService'];
function homeService(dataService){
...
}
更改为:($ inject和参数的顺序应该相同。)
homeService.$inject = ['dataService', 'localDataService'];
function homeService(dataService, localDataService){
...
}
并在您的fn中使用localDataService。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.