Исключение, создающее дерево пользовательского интерфейса Angular js — ошибка типа: не удается прочитать свойство ‘0’ неопределенного

#javascript #jquery #angularjs #angular

#javascript #jquery #angularjs #angular

Вопрос:

Получение исключения в консоли при загрузке моей страницы для дерева. Также существует серьезная проблема с производительностью, из-за которой для загрузки дерева требуется не менее 30 секунд.

Html-страница

 <div class="col-md-12">
    <script type="text/ng-template" id="items_renderer.html">
        <div ui-tree-handle>
            <span ng-bind-html="item.name| highlight:pattern | trust"></span>
        </div>
        <ol ui-tree-nodes ng-model="item.items">
            <li ng-repeat="item in item.childCategoryList" ui-tree-node
                ng-include="'items_renderer.html'"
                ng-click="pc.att(item.categoryId)"
                ng-hide="!treeFilter(item,pattern,supportedFields) amp;amp; !dim"
                ng-class="{'filtered-out':!pc.treeFilter(item,pattern,supportedFields) amp;amp; dim}">
            </li>
        </ol>
    </script>
    <div ui-tree>
        <ol ui-tree-nodes ng-model="item.items">
            <li ng-repeat="item in pc.catList" ui-tree-node
                ng-include="'items_renderer.html'"
                ng-hide="!treeFilter(item,pattern,supportedFields) amp;amp; !dim"
                ng-class="{'filtered-out':!pc.treeFilter(item, pattern,supportedFields) amp;amp; dim}">
            </li>
        </ol>
    </div>
</div>
 

controller.js

 vm.catAttList = response.data.data.catAttList;
 

Консоль

 angular.js:12783 TypeError: Cannot read property '0' of undefined
    at Scope.e.init (localhost:8080/web/app/bower_components/angular-ui-tree-master/dist/angular-ui-tree.min.js:6:1243)
 

Комментарии:

1. <li ng-repeat=»элемент в item.childCategoryList» ui-tree-node=»» ng-include=»‘items_renderer.html ‘» ng-click=»pc.att(item.CategoryID)» ng-hide=»!treeFilter(элемент, шаблон, поддерживаемые поля) amp;amp;amp;amp; !dim» ng-class=»{‘filtered-out’:!pc.treeFilter(элемент, шаблон, поддерживаемые поля) amp;amp;amp;amp; dim}» class=»ng-scope angular-ui-tree-node»> —- Эта ошибкатакже отображается в консоли

2. Я нигде не вижу vm.catAttList в вашем шаблоне.

3. @micronyks — оно фактически объявлено в контроллере. Я вызываю его в html, ссылаясь на имя контроллера.

4. где оно находится? тем не менее, я его не вижу.

5. @micronyks — я не опубликовал код контроллера. Это похоже на это — var vm = null; vm.catAttList = response.data.data.catAttList; Получение списка в качестве ответа