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???