如何在angularJs中使用jquery columnize

我想使用jquery的columnize插件在我的AngularJS应用程序中设置列。 我超级天真的做法是:

.directive('columnize', function() { return { restrict: 'A', link: function(scope, iElement, iAttrs) { $(iElement).columnize({columns: 2}); } }; }); 

使用此HTML代码:

 
  1. {{question.text}}
    • {{choice}}

但问题是在元素内部使用ng-repeat。 columnize destroy是dom然后ng-repeat抛出一个exception,它不能insertBefore null元素。 我觉得我的做法是错的。 有什么建议?

 .directive('columnize', function($timeout) { return { restrict: 'A', link: function(scope, iElement, iAttrs) { $timeout( function(){ iElement.columnize({columns: 2}), 0}); } 

虽然这似乎有效,但我认为这不是正确的做法。 我记得读过另一个post ,其中$ timeout用于在初始渲染后运行一个函数,这似乎在这里工作。

希望你能得到更好的答案。

小提琴