Passer un tableau en argument
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:
<item-list items="allCategories"></item-list>
le fichier template :
Code:
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:
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:
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;
}
}]
}
}); |