У меня есть простой список выбора, основанный на $ firebaseArray(). У меня нет проблемы с получением значений в кадре. Только выбранное значение.
<select class="form-control" ng-model="vm.selectedRole"
ng-options="role.name for role in vm.allRoles">
</select>
$ FirebaseArray выглядит так
В моем контроллере функция, которая инициализирует форму с помощью select,
Get.getParentUrl('roles').$loaded()
.then(function (data) {
vm.allRoles = Get.getParentUrl('roles');
vm.selectedRole = entity.role.name;
})
И это заполняет выбор, но не устанавливает для него выбранное значение на vm.selectedRole
. Обратите внимание, что entity
- это значение, которое передается, поэтому, если я пишу
console.log(entity.role.name);
Возвращаемое значение - это выбранное значение, которое передается. Поэтому, если пользователь выбирает пользователя с ролью "Супервизор", и я пишу console.log(vm.selectedRole)
внутри .then(function(data){
возвращаемое значение - "Supervisor"
Однако html отображает "?"
Я получил его, добавив vm.selectedRole так
vm.selectedRole = { name: entity.role.name };
Какие работы я предполагаю. Синтаксис кажется немного дерьмовым, хотя
role.$key
, так как ваши имена, вероятно, требуют, чтобы вы все равно преобразовали их обратно в ключи.