Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.05.2014, 18:48
Новичок на форуме
Отправить личное сообщение для klierik Посмотреть профиль Найти все сообщения от klierik
 
Регистрация: 15.05.2014
Сообщений: 2

angularJS + json file + object + .length
Здравствуйте.

Не могу понять почему ангуляр не считает кол-во чилдов в объекте.
Код html:

<table class="table" ng-controller="ShowIndexStatistics as stats">
    <tbody ng-repeat="indexSection in indexData">

        <tr ng-repeat="account in indexSection.details.accounts">

            <th ng-if="$first" ng-attr-rowspan="{{indexSection.details.accounts}}">
                {{indexSection.name}} <small>({{indexSection.details.symbol}})</small>
                <p>{{indexSection.details.accounts.length}}</p>

                <pre>{{indexSection.details.accounts.length}}</pre>
            </th>

            <td>{{account.name}} <small>({{account.id}})</small></td>
        </tr>
    </tbody>
</table>


в контроллере:
var dbPath = "../../db/collection.json";

    $scope.indexData = null;

    $http({method: 'GET', url: dbPath}).
        success(function (data, status, headers, config) {
            // this callback will be called asynchronously
            // when the response is available

            $scope.indexData = data;
        }).
        error(function (data, status, headers, config) {
            // called asynchronously if an error occurs
            // or server returns response with an error status.
        });


В итоге строка:
<pre>{{indexSection.details.accounts.length}}</pre>

Возвращает пустоту.

Скажите, пожалуйста, что я делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2014, 12:11
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Попробуйте обернуть $scope.indexData = data; в $scope.applay
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2014, 12:28
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от klierik
Не могу понять почему ангуляр не считает кол-во чилдов в объекте
потому, что у объекта нет свойства length, в отличии от массива
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2014, 10:44
Новичок на форуме
Отправить личное сообщение для klierik Посмотреть профиль Найти все сообщения от klierik
 
Регистрация: 15.05.2014
Сообщений: 2

Сообщение от nerv_ Посмотреть сообщение
потому, что у объекта нет свойства length, в отличии от массива
Совершенно верно.
Как оказалось для того что бы реализовать задачу, потребовалось изменить синтаксис в JSON файле.
Данный положил в {}
А вот перечень данных лежит в []

В итоге .length работает как и ожидается.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
Конвертировать JSON в Object Alexxiss Общие вопросы Javascript 10 12.09.2012 16:06
Борьба с Object.defineProperty в IE8 FINoM Оффтопик 46 04.09.2012 23:45
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
Переопределить функции .childElements rikitikitavi Events/DOM/Window 2 18.03.2011 21:44