2015-02-12 3 views
2

Возможно ли настроить маршрутизатор из нескольких моделей просмотров?Конфигурация маршрутизатора Aurelia в нескольких образцах-моделях

Что-то вроде следующего?

class App { 
    ... 
    constructor(router) { 
    this.router.configure(config => { 
     config.map([{ 
     route: 'home', 
     moduleId: 'home', 
     nav: true 
     }]) 
    }) 
    } 
} 

Alter конфигурации маршрутизатора в другой вид-модели:

class SomeOtherPage { 
    ... 
    constructor(router) { 
    this.router.configure(config => { 
     config.map([{ 
     route: 'someOtherPage', 
     moduleId: 'someOtherPage', 
     nav: true 
     }]) 
    }) 
    } 
} 

ответ

8

из aurelia docs:

Как и все в Aurelia, мы имеем сильную поддержку конвенций. Таким образом, вы можете выбрать динамический маршрут, а не предварительно настроить все свои маршруты вперед. Вот как настроить маршрутизатор, чтобы сделать это:

router.configure(config => { 
    config.mapUnknownRoutes(instruction => { 
    //check instruction.fragment 
    //set instruction.config.moduleId 
    }); 
}); 

Все, что вам нужно сделать, это установить свойство config.moduleId и вы хорошо идти. Вы также можете вернуть обещание от mapUnknownRoutes для асинхронного определения адресата.

Кроме того, маршрутизатор имеет метод addRoute, который должен работать в вашем случае, чтобы добавить маршрут позже.

+0

Я видел config.mapUnknownRoutes() метод в документации, но не смогли выяснить, как использовать его для моей цели. Метод addRoute() - это то, что я искал. Мне очень помогли обе ссылки. Спасибо. – bekite

+0

рад, что это помогло вам :) –

Смежные вопросы