Ich habe eine Webseite, die eine modale Seite öffnet, wenn Sie auf "Bearbeiten" klicken. Situation: Mit einem Angular JS ng-repeat zeige ich eine Liste von Objekten mit dem Namen customer;Javascript Array in Objekt leer, wenn an Funktion übergeben
<div class="col-sm-6" ng-repeat="Cust in Customers | filter: filterCustomers">
//code omitted for clarity
<buton class="btn btn-default btn-xs" ng-click="openEditDialog(Cust);">Edit<i class="fa fa-pencil pull-right"></i></buton>
Der Objektkunde wird auf diese Weise eingerichtet;
{
"ID" : 1,
"Name" : "Test",
"City" : "Test",
"CountryCode" : "NLD",
"CurrencyCode" : "EUR",
"empAgencies" : [{
"ID" : 1,
"Name" : "Test",
"NumberOfEmployees" : 0,
"customers" : []
}, {
"ID" : 2,
"Name" : "Test1",
"NumberOfEmployees" : 0,
"customers" : [{
"ID" : 4,
"Name" : "TestC",
"City" : "Test",
"CountryCode" : "NLD",
"CurrencyCode" : "EUR",
"empAgencies" : []
}
]
}
]
}
Bitte beachten Sie, dass Kunden < -> EmpAgency eine viele zu viele Beziehung ist in meinem MVC, ich weiß nicht, ob dies etwas mit dem Problem zu tun hat. Das Problem liegt im openEditDialog (Cust); Funktion
function openEditDialog(Cust) {
$scope.editedCustomer = Cust;
console.log($scope.editedCustomer);
$uibModal.open({
templateUrl: 'scripts/spa/customer/editCustomerModal.html',
controller: 'editCustomerCtrl',
scope: $scope
}).result.then(function ($scope) {
search($scope.page);
}, function() {
search($scope.page);
});
}
Das folgende Objekt wird an diese Funktion übergeben:
Object {ID: 1, Name: "Test", City: "Test", CountryCode: "NLD", CurrencyCode: "EUR"…}
//omitted
empAgencies:Array[0]
Wie Sie das Array mit empAgencies sehen kann, ist aus irgendeinem Grund geleert. Aus diesem Grunde meine Dropdownbox ausgewählte Eigenschaft ist nicht richtig aufgefüllt (enthält die vollständige Liste der empAgencies)
haben Sie versucht, den Filter 'filterCustomers' zu entfernen? – Pietro
@Pietro Danke, ich habe gerade jetzt versucht. Das ändert nichts. – Brian
Es sieht so aus, als ob das Array empAgents nur nach dem vollständigen Laden der modalen Seite geleert wird. Ich habe einen schnellen Screenshot des Cust-Objekts auf meiner Modal-Seite gemacht, während es geladen wurde und alle EmpAgents dort waren. Ich weiß nicht, ob das hilft – Brian