IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Coder les controller dans un autre fichier .js que les modules


Sujet :

AngularJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut Coder les controller dans un autre fichier .js que les modules
    Bonjour,

    Je suis en train de coder avec Angular ui-router.

    Comme le fichier comporte les modules et les controllers, je souhaiterais déporter mes controllers dans un autre fichier afin que tout ceci soit plus lisible et aussi pour ne pas avoir à monter et descendre dans le même fichier pour aller des modules aux controllers et vice-versa.

    Comment fait-on pour écrire les controlleurs dans un fichier différent de celui des modules s'il vous plaît ?

    voici mon code :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    /**
     * 
     */
     
    var app = angular.module('app', ['ui.router']);
     
    app.config(['$stateProvider', function($stateProvider) {
     
    	$stateProvider
    	.state('produits', {
    		url: '/produits',
    		views:{
    			'general_view':{
    				templateUrl: 'produits.htm',
    				controller: 'produitsCtrl'
    			}
    		}
    	})
    	.state('horaires_lieux', {
    		url: '/horaires_lieux',
    		views:{
    			'general_view':{
    				templateUrl: 'horaires_lieux.htm'
    			}
    		}
    	})
    	.state('contact', {
    		url:'/contact',
    		views:{
    			'general_view':{
    				templateUrl: 'contact.htm',
    				controller:'contactCtrl'
    			}
    		}
    	})
    	.state('aPropos', {
    		url:'/aPropos',
    		views: {
    			'general_view':{
    				templateUrl: 'aPropos.htm'
    			}
    		}
    	})
    	.state('home', {
    		url: '/',
    		views: {
    			'general_view': {
    				templateUrl: 'home.htm'
    			}
    		}
    	})
    	.state('noRoute', {
    		url: '*path',
    		templateUrl: 'home.htm'
    	});
    }]);
     
    app.controller('produitsCtrl', ['$scope', function($scope) {
    	console.log('produitsCtrl');
    	// Déclarations
    	$scope.liste_photos = liste_photos;
    	$scope.contacts = contacts;
     
    	console.log('$scope.liste_photos = ' + $scope.liste_photos);
    }]);
     
    app.controller('contactCtrl', ['$scope', function($scope) {
    	console.log("contactCtrl");
     
    	$scope.contact = contact;
    }]);
    Merci,

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut
    C'est tout simple en fait !
    Il suffit de couper / coller le code dans un nouveau fichier .js et de le déclarer dans la page html.

    Je n'y arrivais pas car j'avais fait une faute d'orthographe dans l'écriture du nom du fichier ....


  3. #3
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    La bonne pratique c'est un élément de module par fichier. Un contrôleur, un service, une directive, un filtre, etc... par fichier. Et les modules à part. Les routes à part aussi.

    Cf le styleguide qui fait autorité en la matière pour du AngularJS avec ES5.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut
    Merci beaucoup pour les conseils !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/05/2016, 13h36
  2. macro VBA qui cherche les données dans un autre fichier sur le réseau
    Par elghazy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/06/2015, 08h37
  3. Supprimer n lignes d'un fichier.txt et les renvoyer dans un autre fichier
    Par supcomingenieur dans le forum Shell et commandes GNU
    Réponses: 64
    Dernier message: 30/04/2013, 13h59
  4. Réponses: 3
    Dernier message: 11/02/2011, 19h31
  5. Réponses: 5
    Dernier message: 04/03/2008, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo