Извините, если я неправильно понимаю.
В этом случае вам нужно указать номер электронной почты контакта.
Например, если вы получаете вид данных ниже; вам нужно выполнить цикл три раза.
$scope.contact.ID = contact[0].ID;
$scope.contact.EMAIL = contact[0].EMAIL; // 'test1@mail.com'
$scope.contact.EMAIL_1 = contact[0].EMAIL_1; // 'test2@mail.com'
$scope.contact.EMAIL_2 = contact[0].EMAIL_2; // 'test3@mail.com'
$scope.contact.EMAIL_3 = contact[0].EMAIL_3; // ''
$scope.contact.EMAIL_4 = contact[0].EMAIL_4; // ''
// So 'emails' should be modified at this timing.
$scope.emails = [];
// Just for loop, so it doesn't matter what value you add.
$scope.emails.push($scope.contact.EMAIL);
$scope.emails.push($scope.contact.EMAIL_1);
$scope.emails.push($scope.contact.EMAIL_2);
После этого изменилось условие «Добавить адрес электронной почты».
ng-show="$index == emails.length - 1"
Независимо от того, что Вы выбираете, удостоверьтесь, что Вы регулярно подвергаете сомнению свой подход и улучшаете его.
Используйте метод, который соответствует способу, которым Ваша команда хочет работать и получает лучшие результаты. Пример: если Ваша команда полна хранимой процедуры, ориентированной на SQL на мыслителей таблицы, Вы не должны использовать o/r картопостроитель, потому что это полностью не соответствует тому, как команда думает/работает.
И прежде всего: получите хороших разработчиков программного обеспечения. Нет ничего более важного, чем профессиональные, хорошие разработчики программного обеспечения. С хорошими разработчиками программного обеспечения можно использовать любую методологию и получить хорошие результаты.