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函數中動態添加的。
我不明白爲什麼注入的路由器是主要的路由器,而不是傳遞給啓動對話框打開的視圖。
任何建議,請