0

问题:

我一直试图弄清楚如何在我的基于 Aurelia 的网站上使用 Aurelia-Dialog 插件的“位置”配置设置,但我无法弄清楚在所有物联网上都找不到单个示例。

可以在此处找到非常模糊的文档:http: //aurelia.io/hub.html#/doc/article/aurelia/dialog/latest/dialog-basics/5

对于那些不想访问链接的人,对于“位置”,它说:

Position -在显示带有签名的模态之前调用的回调: (modalContainer: Element, modalOverlay: Element) => void。这使您可以设置特殊课程,使用位置等...如果指定,则忽略 centerHorizo​​ntalOnly。(可选的)

从尝试将代码直接添加到插件配置中,我已经尝试了所有方法main.js

plugin('aurelia-dialog', config => {} .plugin('aurelia-dialog', config => { config.useDefaults(); //config.settings.position = ; })

尝试将其用作我的dialogService.open函数的参数:

showMessage(message, title = 'Message', options = ['Ok'], dismissable = false) {
    return this.dialogService.open({ viewModel: TestModal, 
    model: { message, title, options }, 
    overlayDismiss: 
    dismissable, 
    position: function(stuff){ modal, modalOverlay} });

我的问题:

我如何实际使用该position设置,如果我的function(stuff){modal, overlay}格式正确,我如何实际将模态和叠加层传递给该函数?

我在这方面几乎处于死胡同,所以任何帮助都会很有用。

提前致谢。

4

1 回答 1

0

在对话框类的构造函数中,您需要注入 DialogController,然后定义回调函数。

import { DialogController } from "aurelia-dialog";
@inject(DialogController)
export class YourDialog {
    constructor(private controller: DialogController) {
        this.controller.settings.position = (modalContainer: Element,   modalOverlay: Element) => {
        let container = modalContainer;
        let overlay = modalOverLay;
    };
   }
}
于 2017-05-16T19:03:01.107 回答