问题标签 [aurelia-dialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aurelia - Aurelia 对话框:在异步激活期间显示等待微调器
我正在使用 aurelia-dialog 来显示帐户的详细信息。
我见过的所有关于 aurelia-dialog 的示例都涉及将整个对象传递给对话框并将该对象用作对话框的视图模型。我想要做的是传递 ID 并运行 AJAX 调用以获取详细数据。
让它工作很简单,但是当我从activate
对话框的视图模型的调用中返回一个承诺时,在承诺解决之前,对话框根本不会显示。这很糟糕,因为有延迟。
我希望对话框立即显示并显示一个微调器,直到承诺解决。有没有一种简单的方法可以做到这一点?有人见过或做过吗?
aurelia - 如何将子路由器注入对话框视图模型
在我们的项目中,我们有一堆这样的自定义元素:
基本上它只是呈现一个链接来编辑实体屏幕
问题是这在 Aurelia Dialog 上下文中根本不起作用。
href
根本没有填充属性。
我试图调查这个问题,我将路由器直接注入到对话框的视图模型中
并发现注入了错误的路由器实例。主路由 (AppRouter) 没有定义 ENTITY_EDIT 路由,它是在子路由 configureRoute 函数中动态添加的。
我不明白为什么注入的路由器是主要的路由器,而不是传递给启动对话框打开的视图的路由器。
请有任何建议
aurelia - 如何为 aurelia-dialog 插件加载外部 CSS 文件?
我正在使用 TypeScript 2+ 将 aurelia-dialog 插件集成到 Aurelia CLI 项目中。
我想通过将插件使用的默认 CSS 替换为来自 SASS 文件的我自己的 CSS 来为对话框设置主题,如下所示:
该aiDialogCss
变量必须是一个字符串,并且我不想手动将它嵌入到此代码中,我更愿意从一个单独的 CSS 文件中加载这个 CSS 字符串,该文件是从 SASS 编译并与任何其他 CSS 文件捆绑在一起的。
这可以使用 TypeScript 和 Aurelia CLI 吗?我尝试使用import aiDialogCss from "styles/ai-dialog.css!text"
,但无法编译。
javascript - 通用 Aurelia 对话框需要在脏且有效时启用保存
我正在尝试制作一个通用的、可重用的对话框,我们可以将其用于简单对象(电话、电子邮件等)的基本数据输入。
一般来说,我有一个打开对话框的帮助类,一个使用 aurelia-dialog 的通用对话框,然后是一个 vm,它被组合到包含所有表单编辑代码的主体的通用对话框中。
我遇到的问题是按钮位于作为对话框虚拟机一部分的页脚中,但验证和脏指示符存在于组成正文的虚拟机中。我想根据 body vm 中的指示器禁用/启用保存按钮(在页脚中)。
对话框助手:
调用代码:
编辑对话框.js
编辑对话框.html
电子邮件-dialog.js
我是否必须使用 EventAggregator 将消息传递给父级,或者是否有更好的方法通过某种绑定来处理?(或者有没有更好的方法来解决这个问题?)
谢谢你的帮助!
javascript - Aurelia 测试组件
我正在尝试测试要使用的自定义对话框组件,aurelia-dialog
该组件通过方法获取它的属性绑定activate()
。为了测试组件,我正在使用一个<compose>
元素设置测试,该元素也使用如下activate()
方法:
但是,当我来测试绑定属性的视图模型时,我得到一个空值,而实际视图模型曾经是。
是否有已知或更好的方法来测试没有可绑定属性但依赖模型绑定的自定义元素activate()
?
此外,为了测试渲染:似乎有一个可能相关的类似问题:Aurelia Testing Composed Custom Element
aurelia - 附加焦点在 aurelia-dialog 中不起作用
我有以下内容:
显示对话框时,我希望名字输入框有焦点,但没有焦点——我必须手动单击框来设置焦点。
有什么想法吗?
typescript - 无法使用 DI 注入类
我有一个类,它使用DialogService
来自“aurelia-dialog”的实例来打开我的 Aurelia 应用程序中的几乎每个对话框。以一种非常抽象的方式,该类看起来像这样:
一切正常,直到我尝试注入DialogTrigger
其中一个对话框。
因此,假设我要创建一个新对话框 DialogD。我只是添加了另一种方法triggerDialogD()
,DialogTrigger
该方法会打开一个带有DialodD
视图模型的新对话框,一切正常。但是,如果我希望我的新对话框也可以通过使用所有内容的实例来触发其他对话框之一(A、B 或 C)DialogTrigger
。
如果我注入DialogTrigger
我DialogD
总是会得到一个错误:
键/值不能为空或未定义。您是否尝试注入/注册 DI 不存在的东西?
如果我删除依赖项,对话框将起作用。
TL; DR
我有一个DialogTrigger
打开aurelia-dialog
s 的课程。DialogTrigger
当我注入由它实例化的任何对话框时,DI 失败。
有任何想法吗?
aurelia - 使用下拉菜单后,Aurelia Dialog 未返回响应
我正在使用 aurelia-dialog 插件来允许用户生成一组对象,并希望对话框的响应返回所选对象。
工作流程是,当在对话框上调用 activate() 方法时,使用承诺从 API 调用生成选项列表。然后将选项显示给用户,并从下拉列表中进行选择。然后用户单击确定,响应应该被发回。这是应该完成它的代码:
然后在 modal.js 中:
然后是html:
只要我不触摸下拉菜单,对话框就会返回 null(或我初始化返回集的任何其他值)。但是,一旦我单击下拉菜单,单击 Save 或 Cancel 按钮不会返回任何内容,并且我的第一个代码块末尾的 console.log 行只会被跳过。我还尝试从我的 HTML 中删除 click.delegate 行,但这并没有改变任何东西。
任何人都知道为什么会发生这种情况?另外,我发现这篇文章(Aurelia Dialog and Handling Button Events)有一个非常相似的问题,但似乎找不到任何关于我应该做什么的解决方案。
提前致谢。
aurelia - 将变量导入 aurelia-dialog 视图模型或视图
有没有办法将额外的变量/数据从对话服务导入控制器?
例如,我的应用视图形式有一系列可能的选项。我通过 API 从服务器获取数据。
我想用 aurelia-dialog 编辑一个条目,并且不想再次获取数据以避免我的应用程序中不必要的流量。
我怎样才能将数组另外传递给模型。将它们全部打包在一个对象中并在控制器中解包?据我所知,控制器的激活方法只需要一个参数,不是吗?
谢谢
javascript - 如何在 Aurelia-dialog 中从 DI 容器注入对象
使用 Aurelia,您可以将东西放入容器中,然后注入。容器状态不在对话框中共享。
有没有办法获取我在容器中注入的数据,并在对话框中使用它?
代码示例
主页.js
自定义元素.js
查找字段-dialog.js