javascript - 使用 AngularJs - Angular Material 或 Jquery 显示窗口模板

标签 javascript jquery angularjs angular-material

如何创建一个按钮(类似于来自 Angular Material 的FAB快速拨号)或类似的东西,在单击的按钮旁边显示一个小窗口,该小窗口只有一个文本区域和一个按钮,我想使用Angular Material 最好或 AngularJs 路由或 Jquery。

我一直在尝试使用有 Angular Material 的底片和 FAB 快速拨号,但没有成功。

如果有任何帮助,我将不胜感激。

最佳答案

如果 Angular Material 没有您正在寻找的内置功能(我不相信它有),您应该自己编写一个指令。我“可能”会编写一个指令,当单击该指令时,会显示同级或子元素。

您可以使用具有非隔离范围的指令将数据从您正在创建的框中传递到应用程序的其余部分。

代码可能大致看起来像这样:

angular.directive('smallInputModalButton', function() {
    scope: {}, // or false, up to you
    controller: function () { $scope.isShown = false; },
    template: '<div ng-hide="isShown"><input></input><button></button></div>',
    link: function( scope, elem, attrs, controller ) {

        elem.on('click', function(e) {
            e.preventDefault();
            scope.isShown = !scope.isShown;
        });
     }
}

确保相对定位具有 smallInputModal 属性的元素,并相对定位 #isShown div,以便您可以轻松地将它们嵌套在一起.

如果你想真正彻底,你可以创建一个充当按钮的指令,它与另一个具有显示/隐藏模式逻辑的指令进行通信。

如果你查看流行的库,包括 ngMaterial,它们会做类似的事情。

对于简单的用例,上面的答案就可以很好地工作。

关于javascript - 使用 AngularJs - Angular Material 或 Jquery 显示窗口模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37405584/

相关文章:

javascript - 简单的 JavaScript 拆分函数

jquery - 如何在 jQuery 中转义 this\character?

javascript - 从 angularjs 应用程序的 REST 接口(interface)下载文件

javascript - 无法推送到数组,未定义。 JavaScript

javascript - HTML 加载用户在单击按钮时输入的输入字段数

javascript - 在页面重新加载时, "window.print()"不会在 Google Chrome 77.0.3865.120 中加载打印对话框。当 IFRAME 与作为 SRC 的 PDF 一起使用时会发生这种情况

javascript - 左边框颜色在 javascript 中不起作用

javascript - jQuery .html() 方法在 (document).ready 内部有效,但在外部无效

javascript - 在 Angular 中更新服务变量时, watch 不会触发

javascript - 如何将 ngRoute 注入(inject) Jasmine/Karma AngularJS 单元测试中?