背景
我创建了一个名为shotgun的节点模块和另一个名为shotgun-client的模块,当它们结合在一起时,在浏览器中提供了一个基于节点的实时终端API。客户端库允许用户创建一个shotgun.ClientShell
实例并公开与服务器交互的API。这个clientShell
实例只是一个带有方法的API,这意味着用户必须完成创建使用该API的接口的所有工作。
我想为用户提供一个快捷方式,所以我创建了这个很棒的JQuery插件,它作为clientShell
对象的包装器,并为用户创建一个简单的HTML终端界面。
Demo:http://codetunnel.com/demos/shotgun
JQuery插件执行以下操作...
创建一堆元素,并将它们插入到调用插件的元素中,这将是
#console
,如果像这样调用:$('#console').shotgunConsole();
实例化
shotgun.ClientShell
API的一个实例。var clientShell = new shotgun.ClientShell(options);
设置事件处理程序,将用户操作与
clientShell
API调用绑定在一起。
我的问题
我是AngularJS的新手,我想知道如何将一个JQuery插件像这个转换成一个AngularJS指令。实际上,我想做到这一点:
<div ng-shotgun-console></div>
我希望那个div
能够转换成与我的JQuery插件创建的相同HTML终端。但我真的很困惑如何将其打包,以便可以作为“Angular适配器”与我的“JQuery适配器”一起使用。JQuery插件很容易,几乎完全包含在一个函数中...
$.fn.shotgunConsole = function (options) { ... };
…但我不知道如何创建一个简单的脚本来完成相同的任务,并且可以像 JQuery 插件一样轻松地添加到某个人现有的 Angular 应用程序中。