2017-06-14 78 views
0

本質上,我創建了一個庫,以幫助我的角碼可供未來的應用程序重用。該庫將被導入並位於node_modules目錄中。Angular Library - 從父應用程序繼承

該庫中的一個組件需要引用父應用中的route.config.js文件。

我很努力地弄清楚我將如何能夠從父應用程序繼承此文件或在導入的庫模塊中引用它。

這也是值得注意的是,我使用Angular4與AOT編譯,所以無法美國AB公司的絕對路徑指向文件,像這樣:

import {routing} from '../../../../../app/route.config'; 

的route.config.ts文件/路徑贏得」在圖書館的發展過程中也存在着問題。

任何想法將大規模讚賞。

軟案:

對於此特定示例中,路由配置細節存儲在數組中。例如

const routes: Routes = [ 
    { 
    path: 'dashboard', 
    component: DashboardComponent, 
    canActivate: [canActivateRoute], 
    data: { } 
    }, 

藉助於此,我能夠陣列雖然一個傳遞@input它被需要在組件上。

輔元件在圖書館:

export class NavComponent implements OnInit, AfterViewInit { 
    @Input() routing: any; 

.html文件在父:

<navigation [ngClass]="{ 'hidden': !_isLoggedIn }" routes="routing"> 

我已將此作爲軟解佔盡我需要引用一個整體組成部分,但現在這可以完成這項工作。

回答

0

您應該從共享庫中導入導出的模塊或組件。

讓我們假設你的共享庫已出口USERSharedModule

SharedModule

@NgModule({ 
    exports: [USERSharedModule] 
}) 

你應該導入USERSharedModule模塊在你的代碼。

在App

app.module.ts

import { USERSharedModule} from '@route/Shared'; 
+0

感謝。不過,我可能沒有說清楚導入的模塊是否需要爲每個應用程序編輯,但也使全局回到了庫。 這是一個難以理解的問題。 –