6

在IE8中使用Angular-UI bootstrap手风琴时,选项卡不会展开。下面是使用IE 8的F12angular-ui 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}}"> 

有没有人也有类似的问题,能够解决它,我收到的错误?

+0

我们可以看到你的代码,或者你可以在jsfiddle或plunker上重现问题吗? – Galdo 2013-03-20 21:46:05

+0

当然,这是我已经提取出....仍然有相同的问题,但较少的预期手风琴标签 http://loganweilenman.com/accordion-test/test-accordion.html – 2013-03-21 14:50:21

+0

请参阅此处解决方案: http://stackoverflow.com/questions/15590746/angularjs-error-unexpected-call-to-method-or-property-access-undefined-only – 2013-03-23 23:27:46

回答

6

貌似主要问题是IE不顺心<accordion>使用<div accordion></div>代替

1

,我刚才遇到的另一个gotchya是,你不能把NG-控制器在相同的元素在IE8 <div accordion>。花了我很多的错误来弄清楚。

我不得不更换

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

否则,只需在其属性形式中使用指令即可。