角UI IE8手风琴(angular-ui IE8 accordion)

2019-07-22 05:01发布

在使用IE8的角UI引导手风琴标签不扩大。 下面是我使用的IE 8的F12接收到错误

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

有没有人也有类似的问题,能够解决呢?

Answer 1:

看起来像的主要问题是IE不喜欢<accordion>使用<div accordion></div>代替



Answer 2:

IE8将无法识别自定义元素。 如果您需要使用accordion指令作为元素而不是一个属性,你必须定义元素使IE不会抱怨。 这个简单的脚本将做的伎俩。

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

否则,只用在其属性形式的指令。



Answer 3:

我刚才遇到的另一个gotchya是,你不能把NG-控制器在相同的元素<div accordion>在IE8。 我花了很多线索和错误的明白这一点。

我不得不更换

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

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


文章来源: angular-ui IE8 accordion