javascript - Load from $http.get on accordion-group open using AngularJS - Stack Overflow

I'm using Angular v1.2.0rc1 and Angular-UI Bootstrap. [edit]What I want is a load-on-demand with

I'm using Angular v1.2.0rc1 and Angular-UI Bootstrap.

[edit] What I want is a load-on-demand with cache while using an accordeon.

I'm using an accordion group from here. With some backend requeriments: I would like to load the contents for inside of the accordion only when the accordion is opened (clicked).

Then, I want that response be cached so you can open/close as many as you want and not overload the server.

I tried using ng-click on the heading but it gets override via the AngularUI Bootstrap.

Is there a way to solve this?

I'm using Angular v1.2.0rc1 and Angular-UI Bootstrap.

[edit] What I want is a load-on-demand with cache while using an accordeon.

I'm using an accordion group from here. With some backend requeriments: I would like to load the contents for inside of the accordion only when the accordion is opened (clicked).

Then, I want that response be cached so you can open/close as many as you want and not overload the server.

I tried using ng-click on the heading but it gets override via the AngularUI Bootstrap.

Is there a way to solve this?

Share edited Oct 8, 2013 at 18:24 genuinefafa asked Oct 8, 2013 at 14:57 genuinefafagenuinefafa 7131 gold badge6 silver badges21 bronze badges 2
  • Are you taking about loading html content of tab on demand? – Chandermani Commented Oct 8, 2013 at 15:25
  • yes, that's what i want load on demand while using an accordeon! :) (i just add that ment in the description of the question) – genuinefafa Commented Oct 8, 2013 at 18:19
Add a ment  | 

1 Answer 1

Reset to default 7

You can use the accordion heading tag to catch the 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>  

with this controllers

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
    });
  }
}];

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744857672a4597504.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信