我正在使用Angular v1.2.0rc1和Angular-UI Bootstrap。
[编辑] 我想要的是使用accordeon时按需加载缓存。
我正在使用here的手风琴乐队。有一些后端requeriments:当手风琴打开(点击)时,我想加载手风琴内部的内容。
然后,我希望缓存该响应,以便您可以根据需要打开/关闭,而不会使服务器过载。
我尝试使用ng-click标题,但它通过AngularUI Bootstrap获得覆盖。
有没有办法解决这个问题?
答案 0 :(得分: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>
使用此控制器
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
});
}
}];