salut salut, je rencontre un petit problème inresolvable et surtous incomprehensible.
j'ai une application qu'on developpe a mon taf depuis maintenant 1 mois avec angular, et sans aucune raison, le dernier controller que je veut créer ca me sort argument 'optionsctrl' is not a function got undefined
du coup je me suis dit peut etre il aime pas option alors j'ai changer de tous les coté et finalement j'ai queldal qui fonctionne c'est assez bizare
pour info se controller est lié a une serie de state ui.routeur de ce type conf.option
, conf.niveau
, etc...
du coup la question que je me pose, c'est pourquoi?
apres moult et moult bataille sanglante ( 15 min pour etre exacte ^^ ) j'ai changer de maniere de faire, j'ai pas créer de controlleur et changer ma vue, du coup ca marche bien, et tous vas bien :-) j'ai plus de controlleur option qui fait chier et j'ai opti mon code en plus par la meme occasion ^^ tous bénèf l'erreur!! ca fait réfléchir un peut ^^
mon controller
(function (angular) {
'use strict';
angular.module('config')
/* @ngInject */
.controller('optionCtrl', function ($scope, optionServices) {
$scope.formData = {};
function init() {
optionServices.getOption()
.success(function (data) {
console.log(data);
});
}
init();
});
})(window.angular);
mon html qui correspond
<div class="container" ng-controller="optionCtrl">
<div class="row">
<div class="co-l-sm-12">
<a class="btn btn-success" type="submit" ng-click="bindOption()">Enregistrer</a>
<div class="form-group">
<div class="col-sm-2">
<input type="text" id="name" ng-model="formData.name" class="form-control m-a" placeholder="nom de l">
</div>
<div class="col-sm-5">
<input type="text" id="descr" ng-model="formData.descr" class="form-control m-a" placeholder="description de l'option">
</div>
<div class="col-sm-5">
<input type="text" id="prix" ng-model="formData.prix" class="form-control m-a" placeholder="prix de l'option">
</div>
</div>
<table class="table table-bordered table-condensed datatable">
<thead>
<tr>
<th>niveau </th>
<th> description</th>
<th>prix</th>
<th>actions</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="op in option">
<td>{{op.name}}</td>
<td>{{op.descr}}</td>
<td>{{op.prix}}</td>
<td><a ng-click="delete(op._id)">supprimer</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
ma config ui-router
(function (angular) {
'use strict';
angular.module('config', ['ui.router']);
angular.module('config')
.config(['$stateProvider', '$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/adherent');
$stateProvider
.state('conf', {
url: '/conf',
templateUrl: 'app/config/conf.html',
controller: 'confCtrl'
})
.state('conf.assurance', {
url: '/assurance',
templateUrl: 'app/config/assurance/assurance.html',
controller: 'assuranceCtrl'
})
.state('conf.certif', {
url: '/certif',
templateUrl: 'app/config/certif/certif.html',
controller: 'certifCtrl'
})
.state('conf.club', {
url: '/club',
templateUrl: 'app/config/club/club.html',
controller: 'clubCtrl'
})
.state('conf.saison', {
url: '/saison',
templateUrl: 'app/config/saison/saison.html',
controller: 'saisonCtrl'
})
.state('conf.tarif', {
url: '/tarif',
templateUrl: 'app/config/tarif/tarif.html',
controller: 'tarifCtrl'
})
.state('conf.niveau', {
url:'/niveau',
templateUrl: 'app/config/niveau/niveau.html',
controller: 'niveauCtrl'
})
.state('conf.option', {
url:'/option',
templateUrl: 'app/config/options/options.html',
controller: 'optionCtrl'
})
.state('conf.buslist', {
url: '/buslist',
templateUrl: 'app/config/bus/busList.html',
controller: 'busListCtrl'
})
.state('busview', {
url: '/bus/:id',
templateUrl: 'app/config/bus/busView.html',
controller: 'busViewCtrl'
})
.state('bus', {
url: '/bus',
templateUrl: 'app/config/bus/bus.html',
controller: 'busCtrl'
});
}]);
})(window.angular);
edit: tous les autres state de ma config ui-router fonctionne sauf le options
Bonjour,
Je ne m'y connais pas trop en Angular mais ton erreur référence à "optionSctrl" (nom de ta vue ?) et ton controller est au singulier. A tout hasard, cela ne viendrait pas de là ? Tous tes autres route ont le nom de leur vue égale au nom du controller donc je me dis que cela pourrait peut-être venir de là ...
Encore une fois, je ne connais pas très bien l'Angular donc je ne sais pas si ce que je dis est très pertinent :s