我是Angular2的新手,我需要构建一个可重用的库,它将被多个应用程序用作html标记。
这个可重用的库将有多个页面,如搜索,创建,编辑等,这些页面转换为库本身内的多个路径。但是Git上的大多数库都没有使用路由器。
所以我的问题是如何设计我的多页可重用库?
我应该将所有内容(搜索,创建,编辑)放在一个组件中,并使用ngIf来显示/隐藏同一页面中的部分。但我相信应该有一些方法来处理库中的路由,而不会弄乱消费应用程序路由。
你能告诉我一个设计方法吗?即使您可以向我指导如何构建Angular2库的指南或帖子,这将是非常有帮助的。
我会避免将路由信息直接放在库中。在您的库上构建的每个应用程序可能具有不同的路由机制:不同的路由名称,不同的路由保护,甚至可能是不同的路由库。
如果您的库已预先配置了预配置的路由,则会强制您的库用户遵循您的路由创意。如果某人已经定义了“/ search”路由,并且您可能会覆盖该路由,那么这将导致挫败感。同样,如果有人决定使用自定义路由服务而不是Angular,他们可能无法使用您的库。或者,如果有人想在选项卡式视图中将所有视图放入一个Component
,那可能并不容易。
我的建议是运送一个NgModule
,宣布一些Components
。允许您的用户以他们想要的方式使用这些组件。如果他们使用所有组件,他们可以为每个组件设置一个路由。如果他们想将所有这些都放在一个页面上的标签中,他们也可以这样做。
这个可重用的库将有多个页面,如搜索,创建,编辑等,这些页面转换为库中的多个路径。
你说的这部分是正确的。你可以使用yoir库里面的路线,像普通的角度应用一样导航。只需确保您的库中有这些路径的相应组件。将库路由类导出到public_api。沿着库模块将RoutingModule导入您的应用程序。