Ich bin eine Client-Sammlung mit den folgenden Informationen Aufbau:Aktualisieren
"name" : "Test client",
"email" : "[email protected]",
"position" : "Project Manger",
"contacts" : [
{
"name" : "asdf",
"email" : "[email protected]",
"tel" : "7877877878",
"title" : "asdf"
},
{
"name" : "fdas",
"email" : "[email protected]",
"tel" : "7877877878",
"title" : "fdsa"
}
],
Ich möchte in der Lage sein, die Kontakte des Kunden zu bearbeiten/aktualisieren, aber ich Ich bin nicht sicher, wie dies mit eckigen zu tun, da ich die Form innerhalb einer ng-Wiederholung die Kontakte eines Kunden zu wiederholen.
<div ng-repeat="contact in contacts track by $index">
<label>Name</label>
<input type="tel" ng-model="contact.name">
<label>Telephone</label>
<input type="tel" ng-model="contact.tel">
<label>Email</label>
<input type="email" ng-model="contact.email">
<label>Title</label>
<input type="text" ng-model="contact.title">
<md-button ng-click="save(contact)">Save</md-button>
</div>
und mein Controller:
'use strict'
angular.module('myApp')
.controller('ContactsCtrl', function($scope, $mdDialog, $mdMedia, client) {
$scope.client = client;
$scope.contacts = client.contacts;
$scope.save = (contact) => {
Clients.update({_id: client._id},{
$set: {
contacts : contact
}
},function(err, data){
if(err) return console.log(err);
console.log(data + " ");
$mdDialog.hide(data);
});
}
$scope.cancel = function() {
$mdDialog.cancel();
};
$scope.hide = function() {
$mdDialog.hide();
};
});
Aber wenn ich save
drücken ersetzt es das Array mit einem einzelnen Objekt.
FRAGE
Wie kann ich die vorhandenen Objekte in einem Array aktualisieren, die mit einem Formular in einem Dokument, die ein ng-repeat ist drin?
Hallo, Ihr Code macht Sinn, aber ich halte Syntaxfehler immer bei 'Kontakte [Index]: Kontakt' –