问题标签 [ng-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2265 浏览

angular - 如何在Angular中的嵌套模块上进行路由?

我有一个这样的模块层次结构:

我想知道如何进行从子模块到模块以及从模块到主应用程序模块的路由。

到目前为止,我可以像这样从模块路由到主应用程序模块:

app.module.ts - 主模块

app.routing.ts

module1.module.ts - 1 级模块

module1.routing.ts

这就是我不知道如何路由子模块路由的地方......

submodule1.module.ts - 2 级模块

...进口

这是我需要帮助确定如何路由的地方:

submodule1.rounting.ts

0 投票
0 回答
1343 浏览

angular - 模块导入的意外值“DataTableModule”中的错误“AppModule”

当我在我的 Angular 4 应用程序中运行 ng build -prod 时出现错误,它说

“模块'AppModule导入的Y:/example/node_modules/angular-2-data-table/dist/index.d.ts中的意外值'DataTableModule中的错误。请添加@NgModule注释。”

这是 index.d.ts 文件

我怎样才能解决这个问题?

注意:我还是 Angular 的新手,这不是我的模块,我使用这个包 https://github.com/ggmod/angular-2-data-table

谢谢

0 投票
1 回答
972 浏览

angular - 仅在满足条件时加载 Angular 2 模块

在我的 Angular (v.4.1.1) 应用程序中,我使用拖放功能。基本上,标签之间的所有内容都可以通过拖放来移动。

动画和预览项目在 Chrome 和 Edge 等较新的浏览器中运行良好,但在 Internet Explorer 中,我得到了巨大的峰值,这就是为什么我为其提供减少的动画和预览功能。我已经实现了两个版本的拖动 NgModule,它们包含具有相同接口但具有不同实现的组件和服务。但是,我不知道根据我的应用程序运行的浏览器有条件地导入它们的智能方法。

我创建了一个方法 isInternetExplorer(),我可以在模块装饰器的“导入”数组中使用它。此解决方案仅适用于常规 typescript 编译,不适用于 AOT 编译。有什么方法可以让我的解决方案在 AOT 环境中运行?

这是一个简短的摘录,向您展示我的意思:

感谢您的帮助。

0 投票
2 回答
4733 浏览

angular - 没有提供 Angular 2 和 Http 服务的 XHRBackend

我正在构建一个基于 angular2(生成 angularcli)、webpack、scss 和面向模块的项目。

对于 http 请求,我决定创建一个由身份验证服务使用的服务。

所有在 CoreModule 中引用

还有我的 AppModule :

这是完整的问题:

0 投票
2 回答
1083 浏览

angular - Angular 中的 LazyLoad 模块

我正在关注这个博客的 Lazy Lodaing a Module

一切都很好,除了它要求我为要加载的模块分配静态路径的部分。

模块的名称将取决于用户的选择,因为我可能有许多模块

如何在路由中将变量分配给 loadChildren 以及如何在路由之前创建此变量

0 投票
3 回答
6537 浏览

angular - Angular 4 是真正在核心模块单例中提供的服务吗?

我正在尝试了解 Angular 4 中的核心模块和单例服务。官方文档(https://angular.io/guide/ngmodule)说明了以下内容:

UserService 是一个应用程序范围的单例。您不希望每个模块都有自己单独的实例。然而,如果 SharedModule 提供了 UserService,那么就存在真正的危险。

CoreModule 提供 UserService。Angular 将该提供程序注册到应用程序根注入器,使 UserService 的单例实例可供任何需要它的组件使用,无论该组件是急切加载还是延迟加载。

我们建议收集此类一次性类并将其详细信息隐藏在 CoreModule 中。简化的根 AppModule 以作为整个应用程序的编排器的身份导入 CoreModule。

所以我使用提供单例服务的核心模块和构造函数

防止多次导入核心模块。

1) 但是,如果我在另一个模块中提供 UserService(例如在延迟加载模块中)怎么办?这个延迟加载的模块有一个新的服务实例?

关于 forRoot 方法:

2) 如果我在 AppModule 中使用 CoreModule.forRoot() 导入 CoreModule,那么 UserService 会发生什么?是否也提供?

谢谢

0 投票
1 回答
15 浏览

angular - CustomModule 的组件忽略 AppModule 中的顶级声明

在此页面上进行了长时间搜索后,我仍然迷路了。

我有一个 AppModule 和一个 ModalModule。AppModule 正在导入 ModalModule

AppModule 使用以下装饰器属性声明 LoaderComponent:

ModalModule 声明了 ModalComponent。

在 ModalComponent 的模板中,我想使用 LoaderComponent:

这不起作用!

如果我将CUSTOM_ELEMENTS_SCHEMA添加到 ModalModule,它只会忽略元素并且 DOM 看起来像这样:

但我希望它由 Angular 渲染,看起来像这样:

有人有想法吗?

0 投票
0 回答
57 浏览

angular - angular 2 - 一个站点上的多个但可选的应用程序

我有一个场景,我在一个页面上需要多个应用程序,但它们必须是可选的。

所以我有 3 个根标签: 和

但它们并不总是在那里,例如主根可能在一页上丢失。

所以我创建了 3 个 NgModule:

我已经有一个 ngDoBootstrap 方法,它可以(至少似乎)引导在页面上有其选择器的应用程序。到目前为止,一切都很好。

现在是游戏中的路由!所以在“MainModule”里面我放了:

并添加我的路由和路由器插座,它们也可以正常工作(只要所有根应用程序都在页面上)!

当我有一个页面错过了主应用程序(带有路由的页面)时,麻烦就开始了。现在我得到一个错误:

错误:找不到主插座....

这在一方面是可以理解的(驻留在主应用程序 html 中),但另一方面我认为如果在页面上找不到主应用程序,它甚至不会被引导,那么为什么要打扰呢?

我真的很希望有人理解我试图解释的内容,或者可能做过类似的事情?我完全愿意接受建议,因为我仍在将其作为概念验证来实施......

0 投票
0 回答
56 浏览

angular - 在您的 Angular 应用程序中调用另一个 Angular 应用程序的模块

我是否可以在调用 Angular 应用程序中延迟加载附加到另一个 Angular 应用程序的模块?

假设我有 Angular App A1 和 A2,我希望 A1 作为提供给客户端的主要 Angular 应用程序。现在我想向 A2 添加一个新的模块文件夹,构建它并根据要求在 A1 中保留和调用这个模块。

如果可能的话,这将解决我的问题,即我想在提供应用程序时添加模块文件夹并在不重建整个应用程序的情况下调用它。

注意:Angular 4 中的 Angular

0 投票
1 回答
126 浏览

angular - 如何从使用内部某些指令的组件访问 DirectivesModule?

编辑:建议的解决方案是正确的,我不得不提到SharedModule必须将其导入到使用 DropDownDirective 的子组件的父组件中才能工作。

我正在开发 Angular 4 应用程序,我想使用SharedModulewhich contains 来优化它的结构DirectivesModule。我有一个组件 X,它DirectivesModule通过导入其中一个指令来使用SharedModule它,如下所示:

应用程序/X.component.ts


在组件 X 的视图中,我使用如下指令:

该应用程序的结构如下:

我在做什么,将 DirectivesModule 导入 SharedModule,如下所示:

DirectivesModule 像这样导入和导出 DropDownDirective:

然后,SharedModule按上述方式导入到 X.component 中。问题是该指令不起作用。它应该对元素应用一个“开放”类,但不这样做。

我不确定这是否是实现结构的正确方法,因此欢迎提出更改建议,任何帮助将不胜感激。