Я установил aurelia-диалог npm install aurelia-dialog --save
. Который установил версию "version": "2.0.0-rc.3"
.
Я изменил main.ts, добавив .plugin(PLATFORM.moduleName('aurelia-dialog')) ;
к aurelia.use в функции настройки.
я добавил
"dependencies": [
{
"name": "aurelia-dialog",
"path": "../node_modules/aurelia-dialog/dist/amd",
"main": "aurelia-dialog",
"resources": ["resources/*.js"]
}
]
в aurelia.json (поэтому я не уверен, что это полезно).
Тогда вот модуль, используемый для вызова диалога:
import {DialogService} from 'aurelia-dialog';
import {Rapport} from '../modal/rapport';
@inject(CssAnimator,
EventAggregator,
Parameters,
Configurator,
NewInstance.of(ValidationController),
Validator,
Router,
NewInstance.of(HttpClient),
DialogService
)
export class Import {
constructor(private cssAnim: CssAnimator,
private ea: EventAggregator,
private params: Parameters,
private conf: Configurator,
private controller: ValidationController,
private validator: Validator,
private router: Router,
private httpClient: HttpClient,
private dialogService: DialogService) {
...
}
...
test(){
let testResponse='{"FATAL":["1 ca craint !", "2","3","4"],"WARN":["w1", "w2","w3"],"INFO":["i1","i2","i3"]}';
this.dialogService.open({
viewModel: Rapport,
model:testResponse
}).whenClosed(reponse => {
console.log("Rapport lu :) + ["+reponse.output+"]");
});
}
My Rapport VM:
import {inject} from 'aurelia-framework';
import {DialogController} from 'aurelia-dialog';
@inject(DialogController)
export class Rapport {
fatals: string[]=[];
warns: string[]=[];
infos: string[]=[];
constructor(private controller: DialogController) {
controller.settings.centerHorizontalOnly = true;
}
activate(rapportJson) {
let rapport = JSON.parse(rapportJson);
this.fatals = rapport.FATAL;
console.log("fatals :"+this.fatals);
this.warns = rapport.WARN;
console.log("warns :"+this.warns);
this.infos = rapport.INFO;
console.log("infos :"+this.infos);
}
}
Мой взгляд:
<template>
<!-- <ux-dialog> -->
<!-- <ux-dialog-body> -->
<!-- <h2>Erreurs fatales : </h2> -->
<!-- <ul> -->
<!-- <li repeat.for="f of fatals"><span>${f}</span></li> -->
<!-- </ul> -->
<!-- <h2>Avertissements : </h2> -->
<!-- <ul> -->
<!-- <li repeat.for="w of warns"><span>${w}</span></li> -->
<!-- </ul> -->
<!-- <h2>Pour information : </h2> -->
<!-- <ul> -->
<!-- <li repeat.for="i of infos"><span>${i}</span></li> -->
<!-- </ul> -->
<!-- </ux-dialog-body> -->
<!-- <ux-dialog-footer> -->
<!-- <button class="btn btn-success" click.delegate="controller.ok()" >Ok</button> -->
<!-- </ux-dialog-footer> -->
<!-- </ux-dialog> -->
</template>
Все в комментариях, но без этого он не будет работать одинаково: (
Когда я нажимаю на кнопку test (см. Класс Import), то ничего не добавляется, и у меня появляются следующие следы:
летальных исходов: 1 ca craint!, 2,3,4 раппорт: 27: 9
предупреждает: w1, w2, w3 раппорт: 29: 9
информация: i1, i2, i3 rapport: 31: 9
DEBUG [шаблонный] импорт ресурсов для modal / rapport.html Array [] aurelia-logging-console: 20: 6
Ошибка необработанного отклонения: BindingLanguage должен реализовывать inspectTextContent ().
mi@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:892:9
inspectTextContent@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:909:5
_compileNode@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:2824:26
_compileNode@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:2844:26
compile@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:2791:5
loadViewFactory/</registryEntry.onReady<@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:3518:27
От предыдущего события:
loadViewFactory/<@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:3511:31
От предыдущего события:
loadViewFactory@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:3493:12
loadViewFactory@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:617:12
load@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:4274:14
createController/<@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:4883:14
От предыдущего события:
createController@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:4871:12
_createControllerAndSwap@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:4843:12
compose@webpack-internal:///./node_modules/aurelia-dialog/node_modules/aurelia-templating/dist/native-modules/aurelia-templating.js:4945:14
DialogService.prototype.composeAndShowDialog@webpack-internal:///./node_modules/aurelia-dialog/dist/native-modules/dialog-service.js:79:16
DialogService.prototype.open/openResult<@webpack-internal:///./node_modules/aurelia-dialog/dist/native-modules/dialog-service.js:141:20
От предыдущего события:
DialogService.prototype.open@webpack-internal:///./node_modules/aurelia-
Диалог / расстояние / нативный-модули / Диалог-service.js: 131: 26
Import.prototype.test@webpack-internal:///import/import:279:9
evaluate@webpack-internal:///./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js:1578:14
callSource@webpack-internal:///./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js:5269:18
handleEvent@webpack-internal:///./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js:5278:5
handleDelegatedEvent@webpack-internal:///./node_modules/aurelia-binding/dist/native-modules/aurelia-binding.js:3353:11
Что не так? Я не могу найти ответ ни в блоге Aurelia, ни где-либо еще ...