section.address
  section.existing-address(ng-show='existingAddress')
    select(ng-options='addr as addr.shortAddress() for addr in addresses' ng-model='address' ng-disabled='disabled')

    p(ng-hide='disabled')
      a.new-address(ng-click='toggleExistingAddress()')
        | {{:: 'address.use_new' | translate}}

  section.new-address(ng-hide='existingAddress')
    address-form(address='address' countries='countries' disabled='disabled')

    p(ng-hide='disabled')
      a.existing-address(ng-if='addresses.length > 0' ng-click='toggleExistingAddress()')
        | {{:: 'address.use_existing' | translate}}

section.address
  section.existing-address(ng-show='existingAddress')
    select(ng-options='addr as addr.shortAddress() for addr in addresses track by id' ng-model='address' ng-disabled='disabled')

    p(ng-hide='disabled')
      a.new-address(ng-click='toggleExistingAddress()')
        | {{:: 'address.use_new' | translate}}

  section.new-address(ng-hide='existingAddress')
    address-form(address='address' countries='countries' disabled='disabled')

    p(ng-hide='disabled')
      a.existing-address(ng-if='addresses.length > 0' ng-click='toggleExistingAddress()')
        | {{:: 'address.use_existing' | translate}}

Update address select, to track addresses by id
Update address select, to track addresses by id

sprangular/sprangular,sprangular/sprangular,sprangular/sprangular