5
Я пытаюсь узнать, как извлекать данные внутри фабрики. В настоящее время я использую выборки данных с контроллеромПолучение данных json с фабрикой
factory.js
angular
.module('app')
.factory('Product', ['$http', function($http){
return{
get: function(){
return $http.get('https://raw.githubusercontent.com/vicariosinaga/learn/master/products.json').then(function(response){
return response.data;
});
}
};
}])
деталь-poduct.js
angular
.module('app')
.controller('productDetailsCtrl',['$scope','$stateParams', 'Product', function($scope,$stateParams,Product){
$scope.id=$stateParams.id;
Product.get().then(function(data) {
$scope.singleItem = data.filter(function(entry){
return entry.id === $scope.id;
})[0];
});
}]);
продукта detail.html
<a href="{{singleItem.url}}">
<p>{{singleItem.id}}</p>
<p>{{singleItem.name}}</p>
<img src="{{singleItem.image}}" alt="{{singleItem.name}}">
</a>
, но когда я измените код, чтобы переместить fecthing внутри фабрики, как это factory.js
return{
get: function(){
return $http.get('https://raw.githubusercontent.com/vicariosinaga/learn/master/products.json').then(function(response){
return response.data;
});
},
find: function(){
return $http.get('https://raw.githubusercontent.com/vicariosinaga/learn/master/products.json').then(function(response){
var singleItem = data.filter(function(entry){
return entry.id === id;
})[0];
});
}
};
деталь-product.js
angular
.module('app')
.controller('productDetailsCtrl',['$scope','$stateParams', 'Product', function($scope,$stateParams,Product){
Product.find($stateParams.product,function(singleItem){
$scope.singleItem = singleItem;
});
}]);
это дает мне ошибку, что данные не определена.
, но она по-прежнему дают ReferenceError ошибки: данные не определены, сэр. – GerryofTrivia
@vandi проверить мое редактирование, оно должно исправить проблему –
да, я догадываюсь об этом раньше, но после того, как я изменил, как и вы, у меня теперь есть ошибка, 'id' не определен. Я не знаю, почему это дает мне ошибку. Я просто переведу его на завод. Я пытаюсь добавить 'find: function (id)'. ошибка исчезла, но она не дала мне никакого результата – GerryofTrivia