2014-02-14 32 views
0

目前,我正在为一家巨型公司开发一个AngularJS的web应用程序,并且我试图在一个模式中使用一个简单的FAQ。AngularJS - 常见问题(bug?)

在我的本地主机它工作得很好(非常类似于角文档中的原FAQ)常见问题,但是当我写完全相同的代码,一个模式里面我得到一个控制台错误:

TypeError: Object [object Object] has no method 'addGroup' 

重要的是在模态my $ scope.oneAtATime = true;它被忽略,所以基本上即使我强迫它是真的

<accordion close-others="true"> 

它总是假的。 此addGroup方法位于AngularJS库代码中。

任何想法?

的HTML:

<div class="modal__container__body"> 
     <div id="faq_accordion" ng-controller="AccordionController"> 
      <accordion close-others="true"> 
       <accordion-group heading="{{faq.title}}" ng-repeat="faq in faqs"> 
        {{faq.content}} 
       </accordion-group> 
      </accordion> 
    </div> 

    </div> 

控制器

lobby.controller("AccordionController", ["$scope", function ($scope) { 

    $scope.oneAtATime = true; 

    $scope.faqs = [ 
     { 
     title: "Q1?", 
     content: "A1" 
     }, 
     { 
     title: "Q2?", 
     content: "A2" 
     }, 
     { 
     title: "Q3?", 
     content: "A3" 
     }, 

     { 
      title: "Q4?", 
      content: "A4" 
     } 


    ]; 
}]); 

请注意,在上面的代码中,我正在迫使近距离别人是真实的,直接在HTML标签。

帮助?

+1

你可以做一个运动员吗? – Nikos

回答

1

最近,我们有同样的问题,改变

<div id="faq_accordion" ng-controller="AccordionController"> 

<div id="faq_accordion" ng-controller="MyAccordionController"> 

这应该修复它。你基本上用自己的文件覆盖了插件控制器。不要忘记更改控制器定义,这是打破它的一部分。

+0

解决了这个问题。 此外,如果你想“强制”它是直接在HTML上“真正”,你必须把双倍“”,如“真”“。是一个角社区已知的bug,应该尽快解决! – DjayCi