0

我使用了 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:'='}
  }
});

我的代码类似于这个演示

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

  1. 指令有什么问题?
  2. 当我在不同页面之间切换时,如何使所有 DOM 元素显示?
4

1 回答 1

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页面时。我将再次重新启动元素。

于 2015-10-12T17:55:37.423 回答