Я использую fixer.io и money.js для конвертации валюты. money.js используется для конвертации валюты и fixer.io - это api, который получает последние курсы обмена. Мне нужно загрузить последние курсы обмена в объект money.js rate.Basic Angular - Как загрузить ответ json http в другой объект json
Так как я использую угловатый, money.js загружается как:
var fx = require("money");
Для того, чтобы переход на работу, мы должны определить fx.base
и fx.rates
вроде этого:
fx.base = "USD";
fx.rates = {
"EUR" : 0.745101, // eg. 1 USD === 0.745101 EUR
"GBP" : 0.647710, // etc...
"HKD" : 7.781919,
"USD" : 1, // always include the base rate (1:1)
/* etc */
}
Однако , а не жестко запрограммированные данные для fx.rates
, которые будут заполнены из запроса GET API-интерфейсу fixer.io, который вернет этот JSON: http://api.fixer.io/latest
Я полный noob для углового, поэтому я не понимаю, как загрузить ответ json в другой объект json.
Что такое правильный способ сделать что-то вроде:
var response = $http.get("http://api.fixer.io/latest");
fx.rates = response;
Это работает, даже если json включает другие поля? Если вы посмотрите на ответ Json для этого URL-адреса, он также включает базовый атрибут и атрибут даты, а затем ставки. Так что это не то, что мне действительно нужно больше, например, 'fx.rates = response.data.rates' – lmo523
Еще один вопрос - также стоит ли в контроллере обещание $ http? – lmo523
Да. Данные response.data включают в себя все элементы тела полезной нагрузки. Поэтому, если данные имеют 1000 свойств, они будут содержать каждый из них. $ http - это служба, которая вводится в контроллер, как показано в plnkr – CozyAzure