Angular ng-repeat, Gridster и веб-компоненты конфликтуют

Я использую angular-gridster, чтобы показать сетку в своем приложении, но я наблюдаю какое-то странное поведение, из-за которого мои усилия по поиску ничего не дали.

Вот мой код для отображения простой сетки в gridster::

<div gridster="gridsterOptions">
  <ul>
    <li gridster-item="item" ng-repeat="item in standardItems">
      <div>{{item.sizeX}}</div>
    </li>
  </ul>
</div>

standardItems — это просто пример из gridster-angular GitHub:

$scope.standardItems = [
  { sizeX: 2, sizeY: 1, row: 0, col: 0 },
  { sizeX: 2, sizeY: 2, row: 0, col: 2 },
  ...
  { sizeX: 1, sizeY: 1, row: 2, col: 3 },
  { sizeX: 1, sizeY: 1, row: 2, col: 4 }
];

В дополнение к этой сетке другие части моего приложения используют веб-компоненты и, следовательно, полифилл webcomponents.js.

В Chrome (браузере, который изначально реализует веб-компоненты) страница работает нормально. Но в FireFox и IE (браузеры, которые либо изначально не поддерживают веб-компоненты, либо требуют изменения пользовательских настроек) возникают проблемы с обработкой файла ng-repeat. На самом деле, кажется, что ng-repeat вообще не обрабатывается, а содержащий div, который генерирует гридстер, совершенно пуст.

Ниже приведен HTML-код, сгенерированный gridster в FireFox (обратите внимание на пустой .gridster-content):

<div style="height: 60px;" class="ng-isolate-scope gridster gridster-desktop gridster-loaded" gridster="gridsterOptions" ng-class="gridsterClass()">
  <div ng-style="previewStyle()" class="gridster-item gridster-preview-holder"></div>
  <div class="gridster-content" ng-transclude=""></div>
                                                /\
                         Why is this empty? ----||
</div>

Если я отключу загрузку полифилла webcomponents.js на своей странице, то gridster и ng-repeat будут отлично работать во всех браузерах. Это наводит меня на мысль, что из этих трех элементов что-то конфликтует с остальными.

Кто-нибудь сталкивался с такой проблемой? Любая помощь очень ценится.

Ссылки:

angular-gridster

webcomponents.js


person Mike    schedule 16.04.2015    source источник


Ответы (1)


это проблема с библиотекой webcomponents здесь вы можете найти ссылку на нее https://github.com/webcomponents/webcomponentsjs/pull/393

person Jorge Parga    schedule 23.06.2016
comment
Хотя теоретически это может ответить на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки. . - person Raju; 23.06.2016