Так или иначе, когда я позволяю диалоговое нагрузка вид рамки автоматически, он сказал:диалог Аурелия не получает вид простой WebPack скелет
Однако при использовании inlineView
он работает, как ожидалось. Как я могу загрузить его?
Так или иначе, когда я позволяю диалоговое нагрузка вид рамки автоматически, он сказал:диалог Аурелия не получает вид простой WebPack скелет
Однако при использовании inlineView
он работает, как ожидалось. Как я могу загрузить его?
Немного поздно, но это может быть полезно для других пользователей.
Эта ошибка связана с загрузчиком Webpack.
Более подробную информацию, где: https://github.com/aurelia/dialog/issues/127
Я не люблю использовать строку, чтобы ссылаться на диалог ViewModel, потому что я предлагаю использовать опцию, чтобы заставить View в диалоговом ViewModel. Мне не нужно ничего менять. Пример:
Dialog ViewModel:
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;
}
}
Dialog Вид:
<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);
});
}