Bien. Après m'être penché sur la formation AngularJS, je suis enfin parvenu à transmettre une variable d'un lien cliqué à un autre controller. C'est sûrement très simple pour qui connaît Angular mais j'ai eu un peu de mal à comprendre le principe. Je donne mon petit code si ça peut servir à quelqu'un.
Le but était de récupérer une variable ID et de la transmettre à un controller qui lui fait un appel ajax sur une url qui contient cet ID (le but étant d'afficher un article depuis une page qui liste les articles.
1 / Dans la vue "posts" qui liste les articles je passe les directives ng-model et ng-click qui contient ma variable ID
<a ng-repeat="data in posts"
ng-click="search({{data.ID}})"
ng-model="id"
class="item item-thumbnail-left"
>
<h2>{{ data.title }}</h2>
</a>
2 / Dans son controller "PostsCtrl" je récupère la valeur ID avec $scope et je l'envoie à l'autre controller de l'article seul ("PostCtrl")
.controller('PostsCtrl', function($scope,$state, $ionicLoading, $stateParams, $http){
$scope.search = function(idPassedFromNgClick){
// console.log(idPassedFromNgClick);
$state.go('thepost', {id: idPassedFromNgClick})
}
})
3/ Et enfin je récupère cette donnée dans le controller PostCtrl avec $stateParams
.controller('PostCtrl', function($scope,$ionicLoading, $stateParams, $http){
url = "http://monsupersite.fr//wp-json/posts/"+ $stateParams.id +"";
$ionicLoading.show({template: 'Chargement...'});
$http.get(url).success(function(response) {
$ionicLoading.hide();
$scope.post=response;
})
})
Pour finir j'envoie la réponse à la vue post.html et j'affiche les données de l'article;
Une solution qui marche. En revanche, je ne suis pas certain que ce soit la plus économique en matière performance car je récupère déjà les données de l'article seul dans la page qui liste tous les articles. Je fais donc 2 appels à l'API, une fois pour lister les articles et une fois pour l'article seul. A optimiser donc ;)
Merci pour les pistes @prbaron;
en espérant que ça pourra servir à d'autres.