2016-09-08 62 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); 
}