Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [angular] I controller e i loro file autochiamati

    Ciao,
    non mi è chiaro come funzionano i controller negli esempi di angular. Mi spiego meglio, capisco come funzionano tecnicamente, ma non comprendo come nella configurazione di angular come richiami i file dei controller.

    codice:
    angular
      .module('angularApp', [
        'ngAnimate',
        'ngCookies',
        'ngResource',
        'ngRoute',
        'ngSanitize',
        'ngTouch'
      ])
      .config(function ($routeProvider) {
        $routeProvider
          .when('/', {
            templateUrl: 'views/main.html',
            controller: 'MainCtrl'
          })
          .when('/about', {
            templateUrl: 'views/about.html',
            controller: 'AboutCtrls'
          })
          .otherwise({
            redirectTo: '/'
          });
      });
    per esempio per "views/about.html" sarà chiamato "controller/about.js", questa è una logica che vale sempre?
    Luca Bottoni's World
    www.bottonisworld.com

  2. #2
    vi mostro un'esempio:

    io creo la rotta per i contact

    app.js
    codice:
    angular
      .module('angularApp', [
        'ngAnimate',
        'ngCookies',
        'ngResource',
        'ngRoute',
        'ngSanitize',
        'ngTouch'
      ])
      .config(function ($routeProvider) {
        $routeProvider
          .when('/', {
            templateUrl: 'views/main.html',
            controller: 'MainCtrl'
          })
            .when('/about', {
              templateUrl: 'views/about.html',
              controller: 'AboutCtrl'
            })//=================== nuova rotta con controller ===============
            .when('/contact', {
              templateUrl: 'views/contact.html',
              controller: 'ContactCtrl'
            })
          .otherwise({
            redirectTo: '/'
          });
      });
    quindi nella cartella controllers creo il file contact.js e nelle viste inserisco il file contact.html, rispettando naming suggerito, pensavo ci fosse qualche autoassociazione, ma ho vari errori che indicano nella vista che il controller "ContactCtrl" non è definito:

    controllers/contact.js
    codice:
    angular.module('angularApp')
        .controller('ContactCtrl', function ($scope) {
            $scope.list=[
                {name:"pippo"},
                {name:"pluto"}
            ];
            $scope.add=function(dato1){
                $scope.list.push(dato1);
                $scope.dato1={};
            };
        });
    view/contact.html

    codice HTML:
    <ul ng-repeat="item in list">
        <li>{{item.name}}</li>
    </ul>
    
    <form ng-controller="ContactCtrl">
        <div>
            <input id="nome" ng-model="dato">
        </div>
        <div>
            <button id="salva" ng-click="add(dato)">salvami</button>
        </div>
    </form>
    perchè per main.html e about.html esiste un'autoassociazione e per contact no???
    Luca Bottoni's World
    www.bottonisworld.com

  3. #3
    trovato l'errore, negli esempi in fondo alla index era presente il richiamo ai controller e non esiste un'autocaricamento
    Luca Bottoni's World
    www.bottonisworld.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.