Sto sviluppando un'applicazione che aggiunge/modifica/rimuove i contatti. Ecco come il mio modello di vista aggiungendo il contatto appare come:AngularJS: come passare i dati dalla vista al controller in angularjs
<input placeholder="name" ng-model="contact.name" type="text">
<input placeholder="number" ng-model="contact.number" type="text">
<a href="#/"><button>Add</button></a>
Ed ecco il mio file controller, il controller utilizzato per l'aggiunta è l'ultimo:
var myApp = angular.module('myApp', ['ngRoute']).config(function ($routeProvider) {
$routeProvider.when('/contact/:index', {
templateUrl: 'partials/edit.html',
controller: 'Edit'
}).when('/', {
templateUrl: 'partials/contacts.html'
}).when('/add', {
templateUrl: 'partials/add.html',
controller: 'Add'
})
.otherwise({ redirectTo: '/' });
}).controller('Contacts', ['$scope',function($scope){
$scope.contacts = [
{name:'Hazem', number:'01091703638'},
{name:'Taha', number:'01095036355'},
{name:'Adora', number:'01009852281'},
{name:'Esmail', number:'0109846328'}
];
}]).controller('Edit', ['$scope','$routeParams',function($scope,$routeParams){
$scope.contact = $scope.contacts[$routeParams.index];
$scope.index = $routeParams.index;
}]).controller('Add', ['$scope', function($scope){
$scope.contacts.push({name: contact.name, number: contact.number});
}]);
Ho un errore nella finestra di ispezione di Chrome dice: ReferenceError: contactname non è definito
Grazie !! questo ha funzionato per me Ecco come ho modificato il controller .. la funzione add ha risolto il problema controller ('Aggiungi', ['$ scope', funzione ($ scope) { \t $ scope.add = function() { \t \t $ scope.contacts.push ({nome: $ scope.contactname, numero: $ scope.contactnumber}); \t} }]); e modifica il pulsante Aggiungi nella vista: –