角度指令返回并附加超时



所以我在我的网站中使用脚可比,这是一个jQuery插件。 我把它包装在一个有角度的指令中,如下所示:

angular.module('myApp').directive("footable", function() {
    return {
    restrict: 'A',
    link: function(scope, element, attrs){
        return element.footable(scope.$eval(attrs.footable));
    }
  }
});

然后我叫脚像

<table class="footable" footable="{breakpoints: {'phone': '639','tablet':'767'}}">

问题是,即使指令正在创建一个可脚的,该脚需要 100 毫秒才能工作,如果我在移动设备中启动,除非我在控制器中发送超时,否则它不会重排,如下所示:

$timeout(function(){
            $('.footable').trigger('footable_redraw'); //force a redraw
    }, 100);

这样做的问题是我正在使用jquery,并将其作为我的页面控制器。我想把那个超时和重绘放在指令中并让它工作吗? 或者有没有另一种方法可以让 finnicky jquery 插件工作?

您可以随时将超时移动到指令中,对吗?

angular.module('myApp').directive("footable", function($timeout) {
    return {
        restrict: 'A',
        link: function(scope, element, attrs){
            element.footable(scope.$eval(attrs.footable));
            $timeout(function(){
               element.trigger('footable_redraw');
            }, 100);
        }
    }
});

这是更好的Angular zen,但可能有更好的方法来处理可脚本身。

相关内容

  • 没有找到相关文章