【问题标题】:Creating virtual keyboard as a AngularJs module?创建虚拟键盘作为 AngularJs 模块?
【发布时间】:2014-05-31 07:08:03
【问题描述】:

我有一个 AngularJs 应用程序,我需要创建一个虚拟键盘。键盘应该是一个单独的模块。我的问题是我不确定如何正确构建我的模块?它应该作为指令,还是服务等来实现? 我希望我的虚拟键盘在单击文本区域时显示,否则隐藏。所以我需要帮助如何开始构建这个模块。逻辑应该在哪里实现?风景在哪里?

【问题讨论】:

    标签: javascript angularjs keyboard angularjs-module


    【解决方案1】:

    有趣! 我会这样做:

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

    &lt;virtual-keyboard&gt; 指令将用正确的 HTML 替换元素(您也可以使用 ng-include 代替指令;我个人认为指令是更好的方法)。 然后virtualKeyboardController 将使用自定义服务,为您提供一些方法:

    • 显示键盘;
    • 隐藏键盘;
    • 做其他键盘操作。

    然后必须将服务注入到每个可以使用虚拟键盘的控制器中,并将所有 textareas 绑定到它(如果您的应用程序已经完成,这可能是令人讨厌的部分)。

    注意:我创建了一个&lt;div&gt;,其中包含&lt;virtual-keyboard&gt; 仅作为示例,以避免控制器冲突,但可能有更好的解决方案;还将ng-if 添加到父&lt;div&gt; 您可以对指令进行显示/隐藏检查。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多