2013-10-08 50 views
5

我使用的是Angular v1.2.0rc1和Angular-UI Bootstrap。

我想要的是在使用accordeon時使用高速緩存的按需加載。我使用here的手風琴組。隨着一些後端requeriments:我想加載手風琴裏面的內容只有當手風琴打開(點擊)。

然後,我希望緩存這樣的響應,以便您可以打開/關閉儘可能多的數據,並且不會使服務器超載。

我嘗試使用ng-click標題,但它通過AngularUI Bootstrap獲取覆蓋。

有沒有辦法解決這個問題?

+0

你正在接受有關標籤的按需加載HTML內容? – Chandermani

+0

是的,這就是我希望在使用accordeon時按需加載的內容! :)(我只是在該問題的描述中添加該評論) – genuinefafa

回答

7

你可以用手風琴標題標籤趕上NG單擊

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

抱歉,延遲,我沒​​有得到任何通知您的迴應! :(/ /有趣的方式解決問題BTW – genuinefafa

+0

好的解決方案,但我發現一個問題,當點擊標題時,'$ scope.loadGroup'被稱爲。如何停止? –

+0

@Krishnashidnekoppa你應該添加'loadGroup'函數中的邏輯,'ngClick'在點擊時總是會調用。: - / – genuinefafa