在 angularJS 中显示来自工厂的数组
Display array from factory in angularJS
我正在尝试显示 2 个数组中的 1 个,这是我的工厂:
App.factory('NieuwsService', ['BERKVENS_NIEUWS', 'SVEDEX_NIEUWS', function (BERKVENS_NIEUWS, SVEDEX_NIEUWS) {
var nieuwsService = {};
var _nieuws = [];
var _loadNieuws = function (url) {
switch (url) {
case 'berkvens':
_nieuws = BERKVENS_NIEUWS;
break;
case 'svedex':
_nieuws = SVEDEX_NIEUWS;
break;
}
}
nieuwsService.loadNieuws = _loadNieuws;
nieuwsService.nieuws = _nieuws;
return nieuwsService;
}]);
这是我的控制器的代码:
App.controller('instellingenCtrl', function ($scope, NieuwsService) {
var url = 'berkvens';
angular.copy(NieuwsService.loadNieuws(url));
$scope.message= NieuwsService.nieuws[1].title;
});
但是不行。
那么我如何选择我想要的数组 'berkvens' 以及如何显示它呢?
您的服务中不需要 nieuwsService.nieuws = _nieuws;
。
您只需要 return _nieuws
在 case :
条件之后。
工作Plunker
工厂
App.factory('NieuwsService', ['BERKVENS_NIEUWS', 'SVEDEX_NIEUWS', function (BERKVENS_NIEUWS, SVEDEX_NIEUWS) {
var nieuwsService = {};
var _nieuws = [];
var _loadNieuws = function (url) {
switch (url) {
case 'berkvens':
_nieuws = BERKVENS_NIEUWS;
return _nieuws; // return _nieuws if case 'berkvens'
case 'svedex':
_nieuws = SVEDEX_NIEUWS;
return _nieuws; // return _nieuws if case 'svedex'
}
}
nieuwsService.loadNieuws = _loadNieuws;
return nieuwsService;
}]);
控制器
App.controller('instellingenCtrl', function ($scope, NieuwsService) {
var url = 'berkvens';
// copy loadNieuws
var copyLoadNieuws = angular.copy(NieuwsService.loadNieuws(url));
$scope.message= copyLoadNieuws[1].title;
});
我正在尝试显示 2 个数组中的 1 个,这是我的工厂:
App.factory('NieuwsService', ['BERKVENS_NIEUWS', 'SVEDEX_NIEUWS', function (BERKVENS_NIEUWS, SVEDEX_NIEUWS) {
var nieuwsService = {};
var _nieuws = [];
var _loadNieuws = function (url) {
switch (url) {
case 'berkvens':
_nieuws = BERKVENS_NIEUWS;
break;
case 'svedex':
_nieuws = SVEDEX_NIEUWS;
break;
}
}
nieuwsService.loadNieuws = _loadNieuws;
nieuwsService.nieuws = _nieuws;
return nieuwsService;
}]);
这是我的控制器的代码:
App.controller('instellingenCtrl', function ($scope, NieuwsService) {
var url = 'berkvens';
angular.copy(NieuwsService.loadNieuws(url));
$scope.message= NieuwsService.nieuws[1].title;
});
但是不行。
那么我如何选择我想要的数组 'berkvens' 以及如何显示它呢?
您的服务中不需要 nieuwsService.nieuws = _nieuws;
。
您只需要 return _nieuws
在 case :
条件之后。
工作Plunker
工厂
App.factory('NieuwsService', ['BERKVENS_NIEUWS', 'SVEDEX_NIEUWS', function (BERKVENS_NIEUWS, SVEDEX_NIEUWS) {
var nieuwsService = {};
var _nieuws = [];
var _loadNieuws = function (url) {
switch (url) {
case 'berkvens':
_nieuws = BERKVENS_NIEUWS;
return _nieuws; // return _nieuws if case 'berkvens'
case 'svedex':
_nieuws = SVEDEX_NIEUWS;
return _nieuws; // return _nieuws if case 'svedex'
}
}
nieuwsService.loadNieuws = _loadNieuws;
return nieuwsService;
}]);
控制器
App.controller('instellingenCtrl', function ($scope, NieuwsService) {
var url = 'berkvens';
// copy loadNieuws
var copyLoadNieuws = angular.copy(NieuwsService.loadNieuws(url));
$scope.message= copyLoadNieuws[1].title;
});