AngularJs アプリがあり、仮想キーボードを作成する必要があります。キーボードは別のモジュールにする必要があります。私の問題は、モジュールを適切に構成する方法がわからないことですか? ディレクティブ、またはサービスなどとして実装する必要がありますか? テキストエリアがクリックされるたびに仮想キーボードを表示し、それ以外の場合は非表示にします。したがって、このモジュールの構造化を開始する方法を教えてください。ロジックはどこに実装する必要がありますか? どこの景色?
3060 次
1 に答える
2
面白い!私はそのようなことをします:
<div ng-view></div>
<div ng-controller="virtualKeyboardController()">
<virtual-keyboard></virtual-keyboard>
</div>
<virtual-keyboard>
ディレクティブは、要素を適切な HTML に置き換えます (ディレクティブの代わりに a を使用することもできます。ng-include
個人的には、ここではディレクティブの方が優れていると思います)。次に、virtualKeyboardController
は次の方法を提供するカスタム サービスを使用します。
- キーボードを表示します。
- キーボードを隠します。
- 他のキーボード操作を行います。
次に、仮想キーボードを使用してすべての をバインドできるすべてのコントローラー内にサービスを挿入する必要がありtextarea
ます (アプリが既に完成している場合、これはおそらく厄介な部分です)。
注:コントローラーの競合を避けるために、例としてのみ<div>
を含むを作成しましたが、より良い解決策があるかもしれません。また、親にを<virtual-keyboard>
追加すると、ディレクティブの表示/非表示チェックアウトを実行できます。ng-if
<div>
于 2014-04-16T12:23:13.277 に答える