在AngularJS中集成jQuery插件的正确方法

我想知道什么是正确的方法来整合jQuery插件到我的角度的应用程序。 我已经找到了几个教程和屏幕截图,但他们似乎迎合了特定的插件。

例如: http : //amitgharat.wordpress.com/2013/02/03/an-approach-to-use-jquery-plugins-with-angularjs/ http://www.youtube.com/watch?v=8ozyXwLzFYs

我应该如何创建一个指令 –

App.directive('directiveName', function() { return { restrict: 'A', link: function(scope, element, attrs) { $(element).'pluginActivationFunction'(scope.$eval(attrs.directiveName)); } }; }); 

然后在html中调用脚本和指令?

 <div directiveName ></div> <script type="text/javascript" src="pluginName.js"></script> 

谢谢

是的,你是对的。 如果您使用的是jQuery插件,请不要将代码放在控制器中。 相反,创建一个指令,并把你通常在指令的link功能内的代码。

文档中有几点可以看一下。 你可以在这里找到他们:
常见的陷阱

正确使用控制器

确保在视图中引用脚本时,最后引用它 – 在引用angularjs库,控制器,服务和过滤器之后。

编辑:而不是使用$(element) ,你可以利用angular.element(element)时使用AngularJS与jQuery

我有alreay 2情况下,指令和服务/工厂没有发挥好。

情况是,我有(有)有一个服务的依赖注入的指令,并从该指令我要求该服务进行ajax调用($ http)。

最后,在这两种情况下,ng-repeat都没有文件,即使我给了数组一个初始值。

我甚至试图做一个控制器和一个孤立范围的指令

只有当我把所有的东西都移到控制器上时,它才像魔术一样工作

这里的例子在Angular JS中初始化jQuery插件(RoyalSlider)