问题标签 [angular2-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.
angular - Angular2路由器:如何使用自己的路由规则正确加载子模块
这是我的 Angular2 应用程序结构:
这是我的代码的一部分。以下是module
Angular2 应用程序的主要部分,它导入了它的路由规则和一个子模块 ( EdgeModule
),并使用了与某些页面相关的一些组件。
app.module.ts
这是主模块的路由规则。它具有登录页面和未找到页面的路径。
app.routing.ts
这是EdgeModule
声明它使用的组件并导入它自己的路由规则和 2 个子模块(FirstSectionModule
和SecondSectionModule
)。
边缘模块.ts
如您所见,这是加载顶栏和侧边栏组件的模块的路由规则。
边缘路由.ts
最后,这是两个子模块之一,具有其组件并导入其路由规则。
第一部分.module.ts
这些是页面(组件)的路由规则FirstSectionModule
第一部分.routing.ts
second-section.module.ts
和second-section.routing.ts
文件几乎相同。
当我运行应用程序时,首先加载的是与 相关的页面FirstSectionComponent
,没有侧边栏也没有顶栏。
你能告诉我我的代码有什么问题吗?控制台中没有错误。
angular - 使用 rollup.js Angular 2 对每个 ngModule 进行多重捆绑
我查看了一些关于 rollup.js 的文章,看起来它是一个非常有趣的模块加载器,具有很酷的捆绑可能性。但是,实际上,我没有看到如何将它配置为多个 Angular 2 模块捆绑。例如:我有 10 个模块,其中 5 个是延迟加载的。因此它们可以是可以异步加载的拆分独立包。
可以用 rollup.js 吗?谢谢(因为我真的没有找到任何相关信息)。
angular - 如何将扩展运算符与导出关键字一起使用
鉴于以下情况:
TypeScript 或 Angular2 中是否有某种方法可以防止在 moduleProviders 和导出中重复 CountryService、DenomService?
扩展运算符在 providers: 属性中工作得很好,但是在导出中使用扩展将无法如下工作
关于我可以做些什么来防止提到的重复的任何建议。
谢谢
angular - 如何从角度2中的不同模块访问组件
我是 Angular 2 的新手,所以如果这个问题对你来说听起来微不足道,请原谅。我正在 Angular 2 中创建一个功能模块,我将从该模块中导出所有组件。主模块可以导入它并将该模块添加到导入列表中。这样,主模块中的所有“模板”都可以访问功能模块的组件。
但我想要的是:在我的主要模块组件之一中,我想将功能模块的组件称为 ViewChild。
angular - Angular2 模块:我如何从另一个模块导入服务
我需要导入ClinicFacilityService
在另一个模块(apiClient.module
)中声明的
这甚至可能吗,如果不是,为什么不可能。目前我正在ClinicFacilityService
像这样导入:
angular - Angular2,包含组件模块而不是单独包含所有组件
我想将多个组件捆绑到一个模块(Widget1Module
)中,然后将该模块注入另一个模块(AdminModule
),让所有组件都AdminModule
可以访问Widget1Module
.
我这样做是为了避免declarations
数组中的数组AdminModule
变得越来越大且无法管理,请参阅下面对我的问题进行更深入的解释。
我有一个像这样的模块文件:
我想创建一个Widget1Component
可以在任何“声明”模块中使用的组件 ()。我知道我可以做这样的事情:
这会起作用,但是随着这个应用程序的增长,我希望能够将所有小部件捆绑到另一个模块中,然后将该模块注入到这个模块中,如下所示:
但是,当我尝试做这样的事情时,我不断收到应用程序不知道Widget1Module
.
angular - 错误 TS1192:模块“A.module”没有默认导出
我创建了一个新模块“A”并尝试将其导入另一个名为“B”的模块中。我在编译时收到这个错误,上面写着
错误 TS1192:模块“A.module”没有默认导出
谁能帮忙解决这个错误。
angular - Angular 2 - 将身份验证服务从 AuthModule 导出到 AppModule
我决定将 LoginComponent、AuthService、LoggedInGuard 放在一个名为 AuthModule 的模块中:
而且我只想在应用程序的其余部分中使用 AuthService 方法。和 LoggedInGuard 保护非公共路由。
所以我尝试在 AppModule 中导入它们:
但是在 app.routes.ts 中,LoggedInGuard 不适用于这行代码:
它没有编译,它说:
...auth/auth.module 没有导出成员“LoggedInGuard”
如果我将它指向正确的位置:
它编译,但显示以下运行时错误:
模块“AuthModule”导出的意外值“AuthService”
你有什么建议吗?
提前致谢。
angular - Angular2 - 我的模块如何导入和使用另一个模块?
我的组件ListingComponent 使用了一个名为MemberCountryFilter 的组件。我有这个模块,一切正常。
我意识到另一个模块很快就会需要 MemberCountryFilter 组件,所以我进行了重构。我为 MemberCountryFilter 组件创建了这个模块,我想将它导入到其他模块中。
我将原始模块更改为:
这样做之后,我得到如下模糊的模板解析错误:
zone.js:355 未处理的承诺拒绝:模板解析错误:无法绑定到“ngForOf”,因为它不是“ul”的已知属性。("]*ngFor="let smc of selectedMemberCountries">
似乎ListingComponent 不知道MemberCountryFilter 是什么。显然,我对模块有些不了解。我已经阅读了文档,我认为我做得对。
FilterModule 中的导出应该使 MemberCountryFilter 可用。然后我将它导入到ListingSharedModule 中,然后将其导出以使其对ListingComponent 可用。
对于基本概述,我将 MemberCountryFilter 作为声明(带导出)并且它有效。我将它移到另一个模块中,然后导入和导出该模块,但它不起作用。
我错过了什么?
angular - 重新导出嵌套模块
我有一个具有以下结构的 Angular 2 项目:
在 utility.module.ts 中,我导入图标组件,声明它并导出它。在共享模块中,我导入实用程序模块并将其导出。在 app 模块中,我导入了共享模块。在我的应用程序组件中,我想使用我的图标组件,但出现错误:'app-icon' is not a known element:
是否可以重新导出这样的模块/组件?如果不是,将实用程序模块直接导入应用程序模块的唯一替代方法是什么?
编辑:我注意到抱怨 app-icon 组件不可用的模块/组件/模板是消息组件。我尝试将图标组件直接导入到消息组件中,但它仍然抱怨图标组件不可用。