创建一个Angular js插件

时间:2015-04-06 10:15:25

标签: jquery angularjs

目前我们有一个Jquery插件,当用户在其页面中包含.js和css文件时,可以附加到div并将div转换为jquery控件。

最近我开始做很多角度JS,用它构建了一个不错的网站。我想知道是否还可以构建角度JS来创建一个插件,无论技术如何,都可以放入任何前端,类似于jquery插件的方式。

这个想法就像是要求使用包含angular.js,mycontrol.js然后让他们在页面上的任何地方包含一个1行指令来显示插件,即

但是也允许他们控制控件的默认设置并访问某些回调函数。

我只是想知道这是否正确使用了角度,或者最好坚持使用jquery来实现此功能。

1 个答案:

答案 0 :(得分:2)

是的,您绝对可以构建一个角度模块,以便集成到任何地方。 把它想象成一个有角度的应用程序,只做你的东西。

我是这样做的:

  1. 编写我的角度应用程序,例如" myModule"
  2. '编译'用gulp / grunt获取一个独特的脚本,理想情况下包括angularjs,我的.js代码和$ templateCache中的html模板
  3. 包括ng-app =" myModule"我的html
  4. 上的某个指令
  5. 使用它

    <script src="myApp.js"></script>
    <div ng-app="myModule">
        <my-cool-directive></my-cool-directive>
    </div>
    
  6. 您可以从“外部世界”访问角度世界。通过类似的东西:

    var elem = angular.element(document.querySelector('[ng-app]'));
    var injector = elem.injector();
    var myService = injector.get('myService');
    var usefulData = myService.getData();
    
相关问题