更改页面时,MixItUp隐藏元素

时间:2015-10-12 12:08:59

标签: jquery angularjs angularjs-directive mixitup

我使用了mixitup。我开发了mixitup指令,如下所示:

app.directive('mixitup',function(){
  var linker = function(scope,element,attrs) {
    scope.$watch('entities', function(){
        element.mixItUp();
    });
  };   
  return {
    restrict:'A',
    link: linker,
    scope:{entities:'='}
  }
});

我的代码与此demo类似。

我的问题是我有很多标签,当我点击其中一个标签时,它会重定向到另一个页面。当我返回mixitup页面时,所有DOM元素都被隐藏。

  1. 指令中的错误是什么?
  2. 当我在不同页面之间切换时,如何显示所有DOM元素?

1 个答案:

答案 0 :(得分:1)

我收到了错误,我在指令中错过了$destroy回调函数。

所以指令必须如下:

app.directive('mixitup',function(){
  var linker = function(scope,element,attrs) {
    scope.$watch('entities', function(){
        element.mixItUp();
    });

    element.on('$destroy', function() {
        element.mixItUp('destroy');
    });
  };   
  return {
    restrict:'A',
    link: linker,
    scope:{entities:'='}
  }
});

这是在重定向到另一个页面后销毁元素。然后当我返回mixitup页面时。我将重新启动元素。