configureRouter не вызывается для составления моделей представления

Кажется, configureRouter не вызывается при использовании привязки компоновки.

Это вид:

<template>
    <compose view="./ask-banner.html" view-model="./ask-banner"></compose>
...

В родителе configureRouter вызывается, как и ожидалось. Но в ask-banner.js configureRouter никогда не вызывается.

Проблема в том, что мне нужна ссылка на маршрутизатор, чтобы я мог вызвать метод навигации.

Вызывается метод активации, поэтому кажется, что configureRouter также должен быть вызван.


person Greg Gum    schedule 29.07.2015    source источник
comment
Я бы не рекомендовал ставить роутер на составной элемент. Ваша структура маршрутизатора должна следовать очень линейному пути, например, модель представления маршрутизатора имеет маршрут с дочерней моделью представления маршрутизатора, а природа композиций нелинейна, например, вы скомпоновали три разных элемента в один. страница.   -  person Matthew James Davis    schedule 03.08.2015
comment
Хороший вопрос @MatthewJamesDavis   -  person Greg Gum    schedule 03.08.2015


Ответы (1)


Я нашел другой способ получить ссылку на маршрутизатор:

import {inject, singleton} from 'aurelia-dependency-injection';
import {Router} from 'aurelia-router';
@inject(Router)
@singleton()
export class Ask{
constructor(router)
{
    this.router = router;
}
}
person Greg Gum    schedule 29.07.2015