vi mostro un'esempio:
io creo la rotta per i contact
app.js
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: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: '/' }); });
controllers/contact.js
view/contact.htmlcodice:angular.module('angularApp') .controller('ContactCtrl', function ($scope) { $scope.list=[ {name:"pippo"}, {name:"pluto"} ]; $scope.add=function(dato1){ $scope.list.push(dato1); $scope.dato1={}; }; });
perchè per main.html e about.html esiste un'autoassociazione e per contact no???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>![]()

Rispondi quotando