【问题标题】:jQuery plugin is not rendered after angular jsjQuery插件在angular js之后不渲染
【发布时间】:2013-11-26 07:59:49
【问题描述】:

我正在编写一个简单的选项卡应用程序,我使用 Angular js 指令来调用 jquery 选项卡插件,但视图没有正确更新,我看不到选项卡。

http://jsbin.com/UDIHOTIY/1/edit?html

这里是代码 sn-p。有人可以帮我如何正确呈现标签吗?

【问题讨论】:

  • 你看到异常了吧?第 4 行:$scope.tabs=data; --- 混合空格和制表符。
  • @YagizOzturk 这实际上在 javascript 中应该不是问题。

标签: jquery angularjs jquery-plugins angularjs-directive angular-ui


【解决方案1】:

在指令触发之前,DOM 似乎还没有准备好。使用 $timeout 对我有用:

.directive('hTabs', function($timeout) {
    return {
        restrict: 'A',
        link: function(scope, elm, attrs) {
            $timeout(function(){
                var jqueryElm = $(elm[0]);
                $(jqueryElm).tabs();
            },1000);
        }
    };
});

【讨论】:

  • 在我的指令中设置超时有效。不过我有一个问题,我该如何选择正确的超时时间?将超时设置为 0 和 1000 有什么区别?
  • 最初我尝试使用 0 但没有成功。由于您没有触发任何 https,因此我认为延迟 1 - 2 秒应该不错。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 2017-02-16
  • 2021-04-27
相关资源
最近更新 更多