Я столкнулся странные проблемы с angularjs,не ngModel связывания целочисленное значение
Я написал API с Laravel и MySQL, которым возвращает данные в формате JSON.
На моем компьютере Ubuntu он возвращает id и foreign id как STRING
в ответ json, и моя привязка ngModel работает нормально.
Недавно я переключился на свою машину Windows, которая запускает WAMP, здесь laravel возвращает id и foreign id как INTEGER
, а привязка ngModel больше не работает.
Примеры
Laravel ответ JSON на Ubuntu
выглядит следующим образом:
{
"id": "1234",
"name": "enam",
...
}
Laravel ответ JSON на Windows
выглядит следующим образом:
{
"id": 1234,
"name": "enam",
...
}
У меня есть входной [текст] поле, привязывает этот ответ к ngModel следующим образом:
<input type="text" ng-model="vm.user.id" ...>
На моей машине Ubuntu это нормально работает, в Windows я получаю пустое поле ввода.
Неужели кто-нибудь сталкивался с этой проблемой раньше? Как я могу исправить эту проблему чистым способом?
Я думаю, я мог бы наложить его .toString();, но это не кажется мне таким чистым.
Связывание в моем контроллере
vm.getCustomer = function() {
Customer.getById($stateParams.id)
.then(function(data) {
vm.customer = data.data;
}, function(error) {
vm.error = error.data;
});
};
И обслуживание клиентов просто возвращает вызов $ HTTP
Json ответ (Ubuntu)
{
"id": "1",
"name": "enam",
"postalcode_id": "1179",
"created_at": "2015-04-09 19:48:47",
"updated_at": "2015-04-11 18:00:02",
"postalcode": {
"id": "1179",
"postalcode": "1090",
"city": "JETTE",
"province": "Brussel (19 gemeenten)"
}
}
И в окнах возвращает postalcode.postalcode, а идентификаторы - как INTEGER
, Он работает с $ cast, поскольку @Matthew Brown предложил
Спасибо большое, попробуем его – RVandersteen
Он сделал трюк, глубже углубится в Фрактал. Хотя он чувствует себя очень непоследовательно, что Angularjs не может связывать целые числа в ngModel, но привязывать их к виду. Или я что-то пропустил? – RVandersteen
Может быть, что-то не хватает, я мог бы указать на проблему, когда я мог видеть, где ваша модель установлена в контроллере? –