2
在我们的项目,我们有一堆自定义元素是这样的:如何子路由器注入到对话视图模型
<entity-link id="entity.id>
基本上它只是呈现一个链接编辑实体屏幕
<template>
<a class="entity-link"
route-href="route: ENTITY_EDIT; params.bind: { id: entity.id }"
>${entity.name}
</a>
</template>
问题是这在Aurelia Dialog上下文中完全不起作用。 href
归因于根本没有填充。
我试图调查该问题,我直接注入路由器对话框的视图模型
import {Router} from 'aurelia-router';
@inject(DialogController, Router)
export default class RecordDetailsDialog {
constructor(dialogController:DialogController, router:Router) {
this.controller = dialogController;
this.router = router; /// WRONG INSTANCE!!!
}
}
,并计算出路由器的错误的实例被注入。 主路由器(AppRouter)没有定义ENTITY_EDIT路由,它是在子路由configureRoute函数中动态添加的。
我不明白为什么注入的路由器是主要的路由器,而不是传递给启动对话框打开的视图。
任何建议,请