попытка включить несуществующий файл приводит к тому, что ng-include входит в бесконечный цикл

0

У меня есть следующее:

<div ng-repeat="element in section.elements" ng-include="'/templ_url/'+element.name+'.html'"></div>

Где element.name - это строка, которая соответствует файлу внутри /templ_url. Если файл существует, он работает! Однако, если файл не существует, вместо того чтобы не включать что-либо или вызывать какую-то ошибку, он переходит в бесконечный цикл, который в конечном итоге приводит к сбою браузера.

Есть ли способ предотвратить это, поскольку я сказал, может быть, не включить ничего. Или, если есть способ проверить, существует ли файл до ng-include

FYI: проблема заключается не в том, являются ли section.elements == "", но является ли содержание section.elements ссылкой на файл, который существует в каталоге /templ_url

Теги:
angularjs-ng-include
ng-include

1 ответ

0

вы можете попробовать следующее:

<div ng-repeat="element in section.elements | filter: { name: '' }" 
   ng-include="'/templ_url/'+ element.name +'.html'">
</div>

Он может отфильтровывать пустые атрибуты "name" из цикла.

  • 0
    Прочтите вопрос, проблема не в том, что section.elements == "", а в том, ссылается ли содержимое section.elements на файл, который существует в каталоге / templ_url.
  • 0
    используйте $ http для получения содержимого файлов, затем ng-repeat с атрибутом ng-bind-html.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню