如何使用Aurelia-Dialog插件的“位置”配置设置

时间:2017-05-15 12:06:29

标签: javascript aurelia aurelia-dialog

问题:

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

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

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

  

位置 - 在显示带签名的模态之前调用的回调:(modalContainer:Element,modalOverlay:Element)=>无效。这允许您设置特殊类,使用位置等...如果指定,则忽略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}格式正确,如何将模式和叠加层实际传递给此函数? < / p>

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

提前致谢。

1 个答案:

答案 0 :(得分: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;
    };
   }
}