每个 View 的 Angular 2 解析器

标签 angular content-management-system angular-cli resolver

所以我的应用程序是基于 angular 2(angular cli) 和一些 CMS。页面的一些片段是从 CMS 下载的,并显示在 Angular 2 页面上。主要问题是页眉和页脚来自 CMS。 所以我想知道如何添加全局解析器(全局非常重要,我不想为应用程序中的每个路由路径添加解析器),这将强制 Angular 等待 CMS 返回页眉和页脚。我已经通过实现路由接口(interface)成功地使用解析器等待某些路由上的一些数据

export class InboxResolver implements Resolve<MessageListItem[]>

我在一些自定义路由中使用它:

const MessagesRoutes: Routes = [
 {
    path: 'inbox',
    component: InboxComponent,
    resolve: { messages: InboxResolver }
 }
];

但是如何在一个地方定义一个全局的HeaderAndFooterResolver呢?

最佳答案

不确定您的问题是什么,但您可以使用带有解析器的无组件父路由,并将其与其所有子路由共享

const MessagesRoutes: Routes = [
    { path: '', resolve: { messages: InboxResolver }, children: [
        { path: 'inbox', component: InboxComponent},
        { path: 'xxx', component: XxxComponent},
        { path: 'zzz', component: XxxComponent},
    ]}
];

关于每个 View 的 Angular 2 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40971327/

相关文章:

angular - 我应该在 Angular 2 中使用什么 UI 前端框架

javascript - 由于 CMS 输出导致的 JQuery Accordion 问题

angularjs - Angular-cli 运行时产生语法错误

angular - 通过 Homebrew 安装 Angular CLI(或任何节点包)与 NPM 全局安装之间的区别

php - 为网站构建 CMS

javascript - 无法使用带有 angular2 和 angular-cli 的 Electron 定位 vendor 文件

caching - Angular 2,共享服务http observable中的并发

Angular HTTP 请求获取响应正文

javascript - 在两个子组件之间共享一个方法(Angular)

php - 是否可以有一个持久的 PHP session 来更快地交付网页?