【发布时间】:2014-05-31 07:08:03
【问题描述】:
我有一个 AngularJs 应用程序,我需要创建一个虚拟键盘。键盘应该是一个单独的模块。我的问题是我不确定如何正确构建我的模块?它应该作为指令,还是服务等来实现? 我希望我的虚拟键盘在单击文本区域时显示,否则隐藏。所以我需要帮助如何开始构建这个模块。逻辑应该在哪里实现?风景在哪里?
【问题讨论】:
标签: javascript angularjs keyboard angularjs-module
我有一个 AngularJs 应用程序,我需要创建一个虚拟键盘。键盘应该是一个单独的模块。我的问题是我不确定如何正确构建我的模块?它应该作为指令,还是服务等来实现? 我希望我的虚拟键盘在单击文本区域时显示,否则隐藏。所以我需要帮助如何开始构建这个模块。逻辑应该在哪里实现?风景在哪里?
【问题讨论】:
标签: javascript angularjs keyboard angularjs-module
有趣! 我会这样做:
<div ng-view></div>
<div ng-controller="virtualKeyboardController()">
<virtual-keyboard></virtual-keyboard>
</div>
<virtual-keyboard> 指令将用正确的 HTML 替换元素(您也可以使用 ng-include 代替指令;我个人认为指令是更好的方法)。
然后virtualKeyboardController 将使用自定义服务,为您提供一些方法:
然后必须将服务注入到每个可以使用虚拟键盘的控制器中,并将所有 textareas 绑定到它(如果您的应用程序已经完成,这可能是令人讨厌的部分)。
注意:我创建了一个<div>,其中包含<virtual-keyboard> 仅作为示例,以避免控制器冲突,但可能有更好的解决方案;还将ng-if 添加到父<div> 您可以对指令进行显示/隐藏检查。
【讨论】: