2014-04-16 34 views
3

我有一個AngularJs應用程序,我需要創建一個虛擬鍵盤。鍵盤應該是一個單獨的模塊。我的問題是,我不知道如何正確地構建我的模塊?它應該作爲指令或服務等來實施嗎? 我希望我的虛擬鍵盤在單擊textarea時顯示,否則將隱藏。所以我需要幫助如何開始構建這個模塊。邏輯應該在哪裏實施?視野在哪裏?將虛擬鍵盤創建爲AngularJs模塊?

回答

2

有趣! 我會做這樣的事情:

<div ng-view></div> 
<div ng-controller="virtualKeyboardController()"> 
    <virtual-keyboard></virtual-keyboard> 
</div> 

<virtual-keyboard>指令將用正確的HTML替換元素(你也可以使用一個ng-include而不是指令;我個人認爲該指令是這裏的更好的方法)。 然後virtualKeyboardController將使用給你一些方法來定製服務:

  • 顯示鍵盤;
  • 隱藏鍵盤;
  • 做其他鍵盤的東西。

服務必須然後每個控制器,可以使用虛擬鍵盤和綁定所有的textarea s到這裏面被注入(這可能是惱人的一部分,如果你的應用程序已經完成)。

注:我創建了一個<div>含有<virtual-keyboard>僅作爲一個例子,以避免控制器的衝突,但有可能是更好的解決方案;還可以向父母<div>添加ng-if,您可以對指令進行顯示/隱藏檢查。

+0

感謝您的回覆。我想將Chrome虛擬鍵盤製作成Angularjs,並且很難組織這些文件.https://github.com/xontab/Chrome-Virtual-Keyboard – annomiss