【发布时间】:2019-06-14 19:58:42
【问题描述】:
我对 CLI 如何生成页面以及主要是路由生成有疑问。使用 ng CLI 生成新页面时,会创建页面模块/html/spec/scss 并更新路由模块。
1) 默认情况下,页面以延迟加载的方式添加到 app.routing.module 中:
{ path: 'test', loadChildren: './test/test.module#TestPageModule' },
还有在 test.module 中的路由:
const routes: Routes = [
{
path: '',
component: TestPage
}
];
还添加了一个空路径 => 为什么?我想我可以将它全部删除它不会改变任何东西吗?
2) 我在那里读到:limiting-provider-scope-by-lazy-loading-modules 服务的实例与延迟加载的模块不同。 然后,如果我希望在整个应用程序中提供服务,事件虽然它具有属性
@Injectable({
providedIn: 'root'
})
延迟加载的模块会有一个新实例?或者我没听懂。
这个例子很简单,我有一个获取用户项目列表的服务,以及将该列表作为属性的服务存储。当我何时访问一个项目的详细信息时,在一个延迟加载的页面中,用户列表在注入的服务中是空的,所以我猜这是它的一个新实例...... 在主/详细实现的示例中,我看到了在导航到它时获取详细信息但不重用已在其他服务中构建的列表的服务。
如果 CLI 有这样的限制,我想知道为什么 CLI 会使用这种方式?
感谢您的帮助。
【问题讨论】:
标签: angular ionic-framework router