Bonjour,
Je dois envoyer l'ID d'un client vers la page modify.html à partir de la page clients.html quand je clique sur le lien Modify, voilà ce que j'ai fais:
clients.html:
<tbody>
<tr ng-repeat="post in posts>
<td align="center">{{post.id}}</td>
<td align="center">{{post.nom}}</td>
<td align="center"><a ui-sref="app.modifier({customerID:post.id})">Modify</a></td> </tr>
</tbody>
Modify.html:
<div class="form-group">
<label class="col-sm-1 control-label">Nom:</label>
<div class="col-sm-1">
<input type="text" class="form-control" ng-model="usernom">
</div>
</div>
et le controller:
.controller('editController', ['$scope', '$http' ,function($scope,$http) { $scope.errors = [];
$scope.msgs = [];
$scope.usershow = function() {
$scope.errors.splice(0, $scope.errors.length);
$scope.msgs.splice(0, $scope.msgs.length);
$http({method: 'GET', url: 'MyURLid='+$stateParams.customerID+'&nom=test}).success(function(data, status, headers, config){
if (data.msg != '') {
$scope.msgs.push(data.msg);
} else
{ $scope.errors.push(data.error); }
}).error(function(data, status) {
$scope.errors.push(status);
});
}}])
router.js:
.state('app.modifier', {
url: 'client/modifier/:customerID',
templateUrl: 'tpl/modify.html',
controller: 'editController'
})
Je peux obtenir l'ID sélectionnée de la table dans l'URL du navigateur mais je ne peux pas l'envoyer à la requête HTTP dans le controlleur
j'ai pensé à utiliser $stateParams mais je n'ai pas compris comment je peux l'injecter dans le code
merci pour l'aide
C'est bien avec $stateParams.
.controller('editController', ['$scope', '$http', '$stateParams' ,function($scope,$http, $stateParams) {
var customerId = $stateParams.customerID;
}}])