У меня есть фабрика, которая входит в контроллер, и я пытаюсь получить данные с этого экрана на HTML-странице. Однако у меня возникают проблемы с указанием пути объекта.AngularJS Path в пути вложенных объектов
Моя фабрика:
app.factory('APIMethodService', function() {
var Head = "api.example.com";
return {
apis:
[{
accounts: [
{
v1: [
{
uri: Head+"/v1/accounts/",
item1: "AccountNumber",
item2: "MoneyInAccount"
}],
v2: [
{
uri: Head+"/v2/accounts/",
item1: "AccountNumber",
item2: "MoneyInAccount"
}]
}
],
customers: [
{
v1: [
{
uri: Head+"/v1/customers/",
item1: "CustomerName",
item2: "CustomerID",
item3: "CustomerEmail"
}]
}
]
}]
};
});
Мой контроллер:
app.controller('APIController', function($scope, APIMethodService) {
$scope.title = "API";
$scope.apiList = APIMethodService;
$scope.accountList = $scope.apiList.accounts.v1;
$scope.accountList2 = $scope.apiList[0][0];
});
Мой HTML
<div ng-controller="APIController">
<div id="api" class="row">
<div class="col-xs-12">
<div class="row" style="font-size:20px">
{{title}} Page!
<table class="table table-striped">
<tr ng-repeat="api in apiList | orderBy:'uri' | filter:search">
<td>{{api.uri}}</td>
<td>{{api.item1}}</td>
<td>{{api.item2}}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
Ошибки я получаю в отношении контроллера, пытаясь разобрать отдельные объекты Я хочу захватить, как счета или клиентов, а затем любая версия v #, они могут иметь.
Так он будет говорить что-то такое, как
TypeError: Cannot read property 'v1' of undefined
мне просто нужна помощь с указанием правильных путей в моей заводской службы.
Ваша служба возвращает объект с несколькими массивами, но вы не ссылаетесь на элементы любого из этих массивов. Я думаю, вы хотите '$ scope.apiList.apis [0] .accounts [0] .v1' возможно? – Claies
@AndrewCounts, это было, спасибо! – Austin