6

Использование Angular-UI бутстрапового аккордеона в IE8, вкладки не расширяются. Здесь ошибка я получаю с помощью F12 IE 8 вangular-ui IE8 accordion

Error: Unexpected call to method or property access.undefined 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 
Error: No controller: accordion<div class="accordion-group ng-scope" ng-repeat="c in categories" heading="{{c.Name}}"> 

Кто-нибудь был подобный вопрос и был в состоянии решить ее?

+0

Можем ли мы увидеть ваш код или вы можете воспроизвести проблему на jsfiddle или plunker? – Galdo

+0

Несомненно, вот что я извлек .... все еще имеет ту же проблему, но меньше ожидаемых вкладок аккордеона http://loganweilenman.com/accordion-test/test-accordion.html –

+0

См. Решение здесь: http://stackoverflow.com/questions/15590746/angularjs-error-unexpected-call-to-method-or-property-access-undefined-only –

ответ

6

Похоже, главный вопрос IE не нравится <accordion> используется <div accordion></div> вместо

1

Другой gotchya, что я только что столкнулись, что вы не можете поставить нг-контроллера на том же элементе, как <div accordion> в ie8. Принял у меня много следов и ошибок, чтобы понять это.

мне пришлось заменить

<div accordion ng-controller="MyCtrl"> 
    ... 
</div> 

с

<div ng-controller="MyCtrl"> 
    <div accordion> 
     ... 
    </div> 
</div> 
4

IE8 не распознает пользовательские элементы. Если вам нужно использовать директиву accordion как элемент вместо атрибута, вам нужно будет определить элемент, чтобы IE не жаловался. Этот простой скрипт сделает трюк.

<script type="text/javascript"> 
    document.createElement('accordion'); 
    document.createElement('accordion-group'); 
    document.createElement('accordion-heading'); 
</script> 

В противном случае просто используйте директиву в своей форме атрибута.