我有一个 AngularJs 应用程序,我需要创建一个虚拟键盘。键盘应该是一个单独的模块。我的问题是我不确定如何正确构建我的模块?它应该作为指令,还是服务等来实现?我希望我的虚拟键盘在单击文本区域时显示,否则隐藏。所以我需要帮助如何开始构建这个模块。逻辑应该在哪里实现?哪里的景色?
问问题
3060 次
1 回答
2
有趣的!我会做这样的事情:
<div ng-view></div>
<div ng-controller="virtualKeyboardController()">
<virtual-keyboard></virtual-keyboard>
</div>
该<virtual-keyboard>
指令将用正确的 HTML 替换元素(您也可以使用 ang-include
代替指令;我个人认为该指令是更好的方法)。然后virtualKeyboardController
将使用自定义服务,为您提供一些方法:
- 显示键盘;
- 隐藏键盘;
- 做其他键盘的事情。
然后必须将服务注入每个可以使用虚拟键盘并将所有textarea
s 绑定到它的控制器中(如果您的应用程序已经完成,这可能是令人讨厌的部分)。
注意:我创建了一个<div>
包含<virtual-keyboard>
唯一的示例,以避免控制器冲突,但可能有更好的解决方案;还向ng-if
父级添加一个,<div>
您可以对指令进行显示/隐藏检查。
于 2014-04-16T12:23:13.277 回答