Aurelia中具有相同模块的多个视口

Aurelia中具有相同模块的多个视口,aurelia,Aurelia,我有一个类似于以下内容的应用程序模板: <template> <require from='./templates/header'></require> <require from='./templates/navigation'></require> <header user.bind="user"></header> <navigation></naviga

我有一个类似于以下内容的应用程序模板:

<template>
    <require from='./templates/header'></require>
    <require from='./templates/navigation'></require>

    <header user.bind="user"></header>
    <navigation></navigation>

    <router-view name="heading"></router-view>

    <div class="page-container>
        <div class="page-content">
            <router-view class="content-wrapper"></router-view>
        </div>

        <div class="footer">
            Copyright etc.
        </div>
    </div>
</template>

问题是模块被激活了两次,这将导致不必要的处理,因为我已经拥有了第一次所需的所有信息。是否有一种方法可以将视口配置为对同一模块(实例)使用不同的视图?

默认情况下,Aurelia的依赖项注入容器将Aurelia中的所有类视为单例。使用示例代码,您的类将只实例化一次——因此,您在其构造函数或激活事件中的任何处理代码都只会发生一次

config.map([
    { 
        name: 'dashboard', 
        route: 'dashboard', 
        viewPorts: { 
            default: { moduleId: './views/dashboard' }, 
            heading: { moduleId: './views/dashboard', view: './views/heading.html' } 
        }, 
        nav: true, 
        title: 'Dashboard' 
    }
]);