【问题标题】:AngularJS - FAQ inside a modal (bug?)AngularJS - 模态中的常见问题解答(错误?)
【发布时间】:2014-02-14 09:57:29
【问题描述】:

目前我正在为一家大公司开发一个使用 AngularJS 的 webapp,并且我正在尝试在模式中添加一个简单的常见问题解答。

在我的 localhost 中,FAQ 运行良好(与 Angular 文档中的原始 FAQ 非常相似),但是当我在 modal 中编写完全相同的代码时,我遇到了控制台错误:

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 选项卡中强制关闭其他人为真。

帮助?

【问题讨论】:

  • 你能做个小家伙吗?

标签: angularjs angular-ui


【解决方案1】:

我们最近也遇到同样的问题,改一下

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

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

这应该可以解决它。你基本上用你自己的覆盖了插件控制器。不要忘记更改控制器定义,这是破坏它的部分。

【讨论】:

  • 解决了这个问题。此外,如果你想直接在 HTML 上“强制”它为“真”,你必须放双“”,比如“'真'”。是 Angular 社区已知的错误,应该尽快修复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多