我是 Angular2 的新手,我需要构建一个可重用的库,该库将作为 html 标记被多个应用程序使用。
这个可重用的库将有多个页面,如搜索、创建、编辑等,这些页面转化为库本身内的多个路径。但是 Git 上的大多数库都不使用路由器。
所以我的问题是如何设计我的多页面可重用库?
我是否应该将所有内容(搜索、创建、编辑)放在一个组件中并使用 ngIf 显示/隐藏同一页面中的部分。但我相信应该有一些方法来处理库中的路由,而不会弄乱正在使用的应用程序路由。
你能给我一个设计方法的建议吗?即使您可以向我指出一些关于如何构建 Angular2 库的指南或帖子,这也会有很大帮助。
最佳答案
我会避免将路由信息直接放入库中。在您的库上构建的每个应用程序都可能具有不同的路由机制:不同的路由名称、不同的路由守卫,甚至可能有不同的路由库。
如果您使用开箱即用的预配置路由发送您的图书馆,您会强制图书馆的用户遵循您的路由理念。如果某人已经定义了路由“/search”,而您可能会覆盖该路由,那将导致挫败感。同样,如果有人决定使用自定义路由服务而不是 Angular 的,他们可能无法使用您的库。或者,如果有人想将所有 View 放入选项卡式 View 中的一个 Component
中,这可能不太容易实现。
我的建议是发布一个 NgModule
,它声明了一些 Components
。允许您的用户以他们想要的方式使用这些组件。如果他们使用你所有的组件,他们可以为每个组件设置一个路由。如果他们想将所有这些都放在一个页面上的选项卡中,他们也可以这样做。
关于angular - 如何创建具有多个路由的 Angular2 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41643876/