2015-10-19 2 views
0

Если предположить, что у меня есть следующие данные, которые я получаю от сервера, используяУгловые машинописное: Преобразовать значение на номер на лета

$scope.users= UserResource.query(); 
//$scope.users= [{id: "1", name: "John"}, {id:"2", name: "Tom"}] 

Можно ли сделать машинописную привязку к идентификационному номеру вместо строки идентификатор? Например, я хочу, чтобы $ scope.person.id был вместо «1» поэтому я не получаю жалобы от углового, когда я выбираю значение. Прямо сейчас, потому что идентификатор имеет тип строки, мой номер поля получает эту ошибку: Ошибка: [ngModel: numfmt] Ожидаемый 1 быть рядом

Что-то вроде этого:

<input ng-model="person.id class="form-control" type="number" typeahead="parseInt(user.id) as user.name for user in users | filter:$viewValue" /> 

Вышеприведенные Безразлично не работает, а также выполняет следующие действия:

<input ng-model="person.id class="form-control" type="number" typeahead="user.id as user.name for user in users | filter: number | filter:$viewValue" /> 

PS Конечно, мне не нужна проверка на стороне клиента для поля id. Это просто быстрый пример 30 секунд, чтобы проиллюстрировать проблему.

+1

Would замена 'тип = number' с' типа = текст шаблона = "\ d +" 'быть вариант« – Icycool

+0

Да, это? отличный вариант, который я никогда не понял! Будет здорово, если вы сможете опубликовать это как ответ. –

ответ

0

Вы можете написать свой собственный фильтр для этого и использовать его:

user.id as user.name for user in (users | stringToId:'user.id') 
Смежные вопросы