6

Utilizzando la fisarmonica bootstrap Angular-II in IE8 le schede non si espandono. Qui è l'errore che sto ricevendo utilizzando F12 di IE 8angular-ui Fisarmonica IE8

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}}"> 

Qualcuno ha avuto un problema simile e stato in grado di risolverlo?

+0

Possiamo vedere il tuo codice o puoi riprodurre il problema su jsfiddle o plunker? – Galdo

+0

Certo, ecco cosa ho estratto .... avendo ancora lo stesso problema, ma meno schede di fisarmoniche attese http://loganweilenman.com/accordion-test/test-accordion.html –

+0

Vedere la soluzione qui: http://stackoverflow.com/questions/15590746/angularjs-error-unexpected-call-to-method-or-property-access-undefined-only –

risposta

6

Sembra che il problema principale è stato IE non gradire <accordion> usato <div accordion></div> invece

1

Un'altra Gotchya che ho appena incontrato è che non si può mettere il ng controller sullo stesso elemento di <div accordion> in IE8. Mi sono preso un sacco di errori ed errori per capirlo.

ho dovuto sostituire

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

con

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

IE8 non riconoscerà gli elementi personalizzati. Se è necessario utilizzare la direttiva accordion come elemento anziché un attributo, è necessario definire l'elemento in modo che IE non si possa lamentare. Questo semplice script farà il trucco.

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

Altrimenti, basta usare la direttiva nella sua forma di attributo.