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 :
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);
    }
  });
la directive :
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;
 
            }
        }]
    }
});