我有一点问题,我为展示广告制作了一个有角度的应用。我在两个不同的视图中有两个控制器,第一个控制器显示所有广告,第二个控制器显示第一个广告详细信息。我想在第二个控制器中检索我的数组“this.annonces_ar”。
此数组包含所有广告。
app.js
angular.module('myApp', [
'ngRoute',
'annoncesServices'
])
.config(function($routeProvider) {
// Système de routage
$routeProvider
.when('/home', {
templateUrl: 'app/annonces.html',
controller: 'annonceCtrl',
controllerAs: 'vm'
})
.when('/home/:annonce', {
templateUrl: 'app/annonceDetails.html',
controller: 'annonceDetailsCtrl',
controllerAs: 'vm'
})
.otherwise({
redirectTo: '/home'
})
})
.controller('annonceCtrl', ['$http', '$routeParams', IHMAnnonceListe])
.controller('annonceDetailsCtrl', ['$http','$routeParams', 'annonces', function ($http, $routeParams, annonces) {
//Retrieve array "this.annonce_ar" here from first controller
}]);
IHMAnnonceListe
function IHMAnnonceListe($http) {
var vm = this;
this.annonces_ar = [];
//controller processing number one
$http.get('./annonces.json').then(function (data) {
vm.ajouterAnnonce(data.data);
vm.getAnnonceById(580)
});
this.getAnnonceById = function (_id) {
for(var i in this.annonces_ar){
if(this.annonces_ar[i].id_nb == _id){
return this.annonces_ar[i]
}
}
};
this.ajouterAnnonce = function (_annonceObjet) {
var keys = Object.keys(_annonceObjet);
for (var i = 0; i < keys.length; i++) {
var annonce = keys[i];
var implAnnonce = new Annonce();
implAnnonce.hydrate(_annonceObjet[annonce]);
this.annonces_ar[i] = implAnnonce;
}
console.log(this.annonces_ar)
};
}
由于