Привязка выбора к массиву объектов в Aurelia и сопоставление по идентификатору

Итак, у меня есть список всех пользователей, который заполняет параметры выбора.

<option repeat.for="user of userService.users">
  ${user.firstName} ${user.lastName}
</option>

И у меня есть входящая групповая запись, к которой прикреплен список пользователей. Я следуюобмануть инструкции и привязать его к одному индексу модели.

<select value.bind="group.users[0]">
    <option repeat.for="user of userService.users" model.bind="user">
      ${user.firstName} ${user.lastName}
    </option>
</select>

Итак, входящий пользователь в группе идентичен одному из пользователей в списке:

{
    id: 123,
    firstName: 'Matt',
    lastName: 'Davis'
}

Но когда группа загружена и привязана к представлению, правильный пользователь не выбирается из выбора. На самом деле, я ожидал бы, что JavaScript будет искать ссылочное равенство.

В идеале я бы хотел, чтобы Aurelia обнаружила, что входящая запись такая же, как указано выше, и (a) просмотрите список опций, проверяющих равенство (b), которые я определил в каком-то расширении (может быть, в фильтре?), (C) выберите он находится в списке и (d) распространяет этот выбор обратно в запись, так что теперь запись референциально синхронизирована.

Я бы предпочел не отступать от триггера, который делает это вручную, потому что в моем приложении будет много и много подобного выбора.

Я бы согласился, хотя и к сожалению, для (а) и (с).

Ответы на вопрос(1)

Ваш ответ на вопрос