2016-08-11 48 views

回答

0

這有點晚,但對其他用戶可能有用。

這個錯誤是因爲Webpack loader。

更多信息,其中:https://github.com/aurelia/dialog/issues/127

我不喜歡使用字符串引用對話視圖模型,因爲這個我建議使用的選項強制在對話視圖模型視圖。我不需要改變其他任何東西。 實施例:

對話框視圖模型:

import {autoinject, useView} from 'aurelia-framework'; 
import {DialogController} from 'aurelia-dialog'; 

@autoinject() 
@useView('./dialog-message.html') //This is the important line!!!!! 
export class DialogMessage { 
    message: string = 'Default message for dialog'; 

    constructor(private controller: DialogController){ 
     controller.settings.centerHorizontalOnly = true; 
    } 

    activate(message) { 
     this.message = message; 
    } 
} 

對話框視圖:

<template> 
    <ai-dialog> 
     <ai-dialog-body> 
     <h2>${message}</h2> 
     </ai-dialog-body> 

     <ai-dialog-footer> 
     <button click.trigger = "controller.cancel()">Cancel</button> 
     <button click.trigger = "controller.ok(message)">Ok</button> 
     </ai-dialog-footer> 

    </ai-dialog> 
</template> 

方法來顯示對話框:

import {DialogMessage} from './dialog-message'; 

(...) 
showDialog(){ 
     this.dialogService.open({viewModel: DialogMessage, model: 'Hi, how are you?' }).then(response => { 
     if (!response.wasCancelled) { 
     console.log('good'); 
     } else { 
     console.log('bad'); 
     } 
     console.log(response.output); 
    }); 
    }