使用AngularJS从accordion-group打开$ http.get加载

gen*_*afa 5 javascript angularjs angular-ui

我正在使用Angular v1.2.0rc1和Angular-UI Bootstrap.

[编辑] 我想要的是使用accordeon时缓存按需加载.

我在这里使用手风琴乐队.有一些后端requeriments:我想在手风琴打开(点击)时加载手风琴内部的内容.

然后,我希望缓存该响应,以便您可以根据需要打开/关闭,而不是使服务器过载.

我尝试使用ng-click标题,但它通过AngularUI Bootstrap获得覆盖.

有办法解决这个问题吗?

IxD*_*Day 7

您可以使用accordion标题标记来捕获ng-click

<div accordion ng-controller="AccordionCtrl">
  <div accordion-group ng-repeat="group in groups">
    <div accordion-heading >
      <div ng-click='loadGroup(group)'>
        {{group.title}}        
      </div>
    </div>
    {{group.loaded}}
  </div>
</div>  
Run Code Online (Sandbox Code Playgroud)

有了这个控制器

var AccordionMenuCtrl = ['$scope', '$http' function ($scope, $http) {
  $scope.groups = [
    {
      url: 'http://whatever',
      title: 'whatever'
    },
    {
      url: 'http://whatever_else',
      title: 'whatever else'
    }
  ]

  $scope.loadGroup = function (group) {
    $http.get(group.url).success(function (data) {
      group.loaded = data
    });
  }
}];
Run Code Online (Sandbox Code Playgroud)