2015-04-06 60 views
0

目前我們有一個jquery插件,當用戶在其頁面中包含.js和css文件時,可以附加到div並將div轉換爲jQuery控件。創建一個Angular js插件

最近我開始做了很多角JS,並用它建立了一個漂亮的網站。我想知道是否也可以構建角JS以創建一個可以放入任何前端的插件,無論類似於jquery插件的方式如何。

即想法是一樣的東西要求使用包括angular.js,mycontrol.js,然後要求他們包括1號線指令,無論在頁面上他們想要顯示的插件即

即,但也允許他們控制控制的默認設置和訪問某些回調函數。

我只是想知道這是正確的角度使用,或者最好堅持使用jquery這個功能。

+0

作爲一個完全成熟的框架,我不認爲這是一個良好的使用AngularJS的。它甚至可能不工作。 'Reactjs'可能更適合這種情況。 – Chandermani 2015-04-06 10:31:59

回答

2

是的,你絕對可以建立一個角度模塊集成到任何地方。 把它看作是一個角色應用程序,只是做你的東西。

我做這種方式:

  1. 寫我的角度的應用程序,例如「MyModule的」
  2. 「編譯」它一飲而盡/咕嚕獲得一個獨特的腳本,包括理想angularjs,我的.js在$ templateCache代碼和我的HTML模板
  3. 包括NG-應用= 「MyModule的」 指令上的某個地方我的HTML
  4. 使用它

    <script src="myApp.js"></script> 
    <div ng-app="myModule"> 
        <my-cool-directive></my-cool-directive> 
    </div> 
    

您可以通過一些從「外部世界」訪問角世界這樣的:

var elem = angular.element(document.querySelector('[ng-app]')); 
var injector = elem.injector(); 
var myService = injector.get('myService'); 
var usefulData = myService.getData(); 
+0

你能用這種方式設置回調函數嗎? – StevieB 2015-04-07 08:04:54