Я застреваю, пытаясь извлечь один элемент json из массива из моего $ http get.
Я попытался использовать область действия и несколько других methods-, но никто не работает.
Появляется объект/данные json (в инспекторе сети Chrome), и мои директивы в моем HTML правильны.
Как я могу заставить Angular понять, что дать один элемент в массиве json директиве?
Мой объект выглядит так:
[{"id": 1, "name": "test1"}]
function productsApiProvider($http, $stateParams) {
var product_id = $stateParams.product_id;
var getApiData = function () {
return $http.get(BASE_URL + product_id);
};
var BASE_URL = 'http://123.com/api/item/';
return {
getApiData: getApiData
};
}
function ProductsCtrl($scope, $log, productsApi, UserService) {
$scope.product=[];
productsApi.getApiData()
.then(function (result) {
console.log(JSON.stringify(result.data)) //Shows log of API data
$scope.products.unshift(result.data);
})
.catch(function (err) {
$log.error(err);
});
}
Добавляя ответы от комментариев, чтобы их можно было принять, закрыв это.
result.data[0].name
value "test1" - это то, что вам нужно здесь для объекта result.data[0]
Должен быть
$scope.product.unshift
не
$scope.products.unshift
обратите внимание на "s" в конце продукта.
result.data
? Вы пытаетесь получить один элемент из API или выполнить функцию фильтра, передаваяproduct_id
?result.data[0].name
значением «test1» то, что вам нужно здесь для объектаresult.data[0]