在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)