Bonjour tous le monde,
Lorsque j'essaye d'utilise les directives, en particulier le scope '=' pour passer un tableau en argument.
Celle-ci me renvoi une valeur vide.
Ci-dessous le code problématique :
Version AngularJS 1.7.4
la balise tel que décrite dans la directive :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <item-list items="allCategories"></item-list>
le fichier template :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <div class="form-group"> <label>Catégorie sélectionner</label> <div class="row"> <div class="col-xs-8"> <select class="form-control" id="category" name="category" ng-model="selectedItem.idx" ng-options="item.categorie_id as item.categorie for item in allCategories"></select> </div> <div class="col-xs-4" style="padding-left: 0"> <button type="button" class="form-control pull-right" ng-click="selectItem()">Ajouter</button> </div> </div> </div> </div>
le controleur :
la directive :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 helperService.allArtCategory(). then(function(response) { if (response.data.msg != "") { $scope.msg = response.data.msg; console.log($scope.msg); } else { $scope.allCategories = response.data.catarts; console.log($scope.allCategories); } });
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 angular.module('mainApp.listItem.js.directives', []). directive('itemList', function(){ var items = []; return { restrict: 'E', scope: { items:'=' }, replace: false, templateUrl: './js/modules/listItem/partials/category.htm', controller: ['$scope', function($scope) { $scope.allCategories = []; if (angular.isDefined(items)) { console.log(items); $scope.allCategories = items; } }] } });
Partager