2016-02-25 32 views
0

我想在我的項目(基於AngularJS的項目)中實現http://areaaperta.com/nicescroll/角度運行所有站點的jQuery代碼

我需要做的是:

$(document).ready(

    function() { 

    $("html").niceScroll(); 

    } 

); 

但是,當我把這個,如果我需要它整個網站的運行,並儘快DOM完成加載?不知道一個指令是否是我需要的,如果是的話,它將如何,我應該在哪裏包含/運行它?

回答

2

在角度項目中使用jquery插件的最佳方式是使用指令。

HTML:

… 
<body ng-app="myApp" nicescroll> 

</body> 
… 

JS:

… 
var app = angular.module('myApp', []); 

app.directive('nicescroll', function() { 
    return { 
     restrict: 'A', 
     link: function() { 
      // check, if the jquery plugin is loaded and available 
      if ($.fn.niceScroll) { 
       $('html').niceScroll(); 
      } 
     } 
    } 
}); 
… 
+0

這是更好地檢查'$ .fn.niceScroll' – jcubic

+0

嗯,好,好點的@jcubic – RWAM

+0

解決。太好了,我想要製造一個控制器並將其放入體內並進行上述操作,但這種方法很有效,而且更清潔。 – codeninja