2016-09-08 61 views
1

我在我的項目中有一個頁面,其中包含幾個類別,每個類別都有一個帶有圖像的Flexslider。每個類別顯示一次並單擊另一個,前者隱藏並單擊出現,與Tabs類似的方案。AngularJS上的銷燬功能

我需要的是,當我點擊另一個類別時,它破壞了Flexslider在前一類中初始化的功能,並在此類別中執行。

這是我到目前爲止已經完成,但沒有成功:

功能啓動Flexslider:

vm.sliderCol = function() { 

    setTimeout(function() { 

     $('.sliderCol').flexslider({ 
      animation: "slide", 
      controlNav: false 
     }) 
    }, 1000) 
} 

功能即進入類別按鈕:

vm.clicou = function(){ 

    $('.sliderCol').flexslider("destroy") 

    setTimeout(function() { 
     vm.sliderCol() 
    }, 1000) 
} 

在那之前我試過摧毀Flexslider不知道是否有某種方法停止執行功能並啓動它,任何人都可以幫忙嗎?

+0

這可能會幫助你的 https://docs.angularjs.org/API/NG /服務/ $間隔 –

回答

1

隨着對每個類別扮演的角色NG-點擊,我設法摧毀滑塊和具有以下功能再次啓動:

vm.clicou = function(){ 
    $('.sliderCol').flexslider("destroy"); 
    $('.sliderCol').removeData("flexslider"); 
    setTimeout(function() { 
     vm.sliderCol(); 
    }, 100); 
}