问题标签 [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.

0 投票
1 回答
119 浏览

angular - 具有私有嵌套 DI 上下文的 Angular2 模块

我知道 Angular2 默认的 DI 上下文策略是为了丰富应用程序范围的依赖注入上下文。但我希望有些Injectables不能在全球范围内使用。

这是我要实现的目标的具体示例。

可能有一个文档解释了如何做到这一点,但我找不到它。

我想创建一个将公共/导出服务与私有服务区分开来的 ServiceModule。

目标是使用依赖注入,以便PubliclyExportedService可以使用PrivateService,但之外的任何类ServiceModule都不能注入PrivateService.

任何帮助是极大的赞赏

0 投票
0 回答
715 浏览

angular - Angular 2 可以在发送参数时延迟加载模块?

我正在尝试延迟加载模块,同时还发送参数。

基本上我想在发送参数时延迟加载这个模块:venuedetail/40 <-这个数字代表一个ID。

这是我延迟加载的模块:

这是延迟加载模块的路由配置。

url 更改为 placedetail/40 ,但组件从未初始化。

0 投票
3 回答
2215 浏览

angular - Angular2 从子模块导入和声明全局服务

我有一个有趣的问题。我有 2 个模块。app.module.ts (AppModule) 和 Listings.module.ts (ListingsModule)。ListingsModule 有一个服务,我们称之为服务 A。A 需要是一个单例全局服务,这意味着所有其他组件和服务都需要能够与同一个 A 交互。

为此,我首先尝试在 ListingsModule 中将 A 声明为提供程序,但这并没有按预期工作,因为它仅被声明为用于 ListingsModule 下的组件和服务的单例,但我还需要在其他模块和 AppModule 下使用它. 因此,我得出结论,我需要从 ListingsModule 导出此服务并在 AppModule 下导入并提供此服务,但这并没有按预期工作。

A 是 ListingsStoreService。

以下代码要求我声明或导入 ListingsStoreService,使其可导出。如果我声明 ListingsStoreService 那么它会给我另一个错误。我显然只能提供这项服务。

这里的正确方法是什么?我该如何进行这项工作?

0 投票
1 回答
3227 浏览

angular - 导入角度组件以在所有模块中可用

我最近开始玩 angular 2,到目前为止我的经验非常棒。ng1我也有一些很好的经验React。所以,这更像是一个普遍的问题,也是一个困惑。我很确定这会帮助很多其他人,而且我还没有真正找到任何直接的答案。

所以假设我有这个module protected.module.ts,我注册了一些组件。因此,为了使用原始指令ngFor, ngIf,我必须将其导入CommonModule特定模块,但与此同时,我必须将其导入主入口模块,即app.module.ts.

app.module.ts

受保护的模块.ts

app.module所以,我的困惑是,如果我们想在我们最终拥有的所有模块中使用该模块,是否有一种方法可以全局导入某个模块?通过这种方式,对我来说,我们需要将它导入到不同的地方,这似乎是一种大修。还是我在这里完全遗漏了一些观点?

提前谢谢你,我真的希望这对我和其他人都有好处。

0 投票
1 回答
6051 浏览

angular - Angular2 - 未在同一模块中声明时指令不起作用

我有一个指令,我想在多个模块中使用它。在每个模块上声明它会产生错误。因此,我尝试在共享模块中声明它并将这个共享模块导入其他模块。但是,它没有用。它仅在组件自己的模块上完全声明时才有效。

这是我的SharedModule

我想使用的模块ModalDirective

MyComponent组件中:

modalin MyComponentis undefined(even in ngAfterViewInit) ifModalDirective没有声明 in MyModule。任何人都知道如何解决这个问题?

0 投票
2 回答
80 浏览

angular - 创建 angular2 模块时

我想写一个只有在登录后才能访问用户的新闻网站。我可以把所有东西都写进去,app.module但我想拥有漂亮的架构,我需要一个建议。

我应该为帐户创建另一个模块吗?我应该为文章创建另一个模块吗?

所以我会有

应用程序模块

文章.模块

帐户模块

这是好习惯吗?

登录后,我应该在每个请求上传递会话 ID。这样会更好吗?

app.module // + 帐户文件夹,其中将是所需的组件/服务articles.module

0 投票
2 回答
620 浏览

javascript - 在 AppModule 中导入模块以在 Angular2 中分离关注点

来自ASP.NET Core JavaScript 服务的模板带有一个名为AppModule. 由于我的应用程序分为两个逻辑区域,因此为它们使用两个模块(AreaA、AreaB)似乎是个好主意。我的想法是将两者都导入AppModule,包括像 Pipes 这样的共享资源(这可能会在这里造成麻烦)。

因此,出于测试目的,我创建了一个名为ModuleA

AppModule它是这样导入的

这给了我一个例外

异常:调用节点模块失败并出现错误:错误:模板解析错误:'router-outlet' 不是已知元素:1. 如果'router-outlet' 是 Angular 组件,则验证它是否是该模块的一部分。2. 如果 'router-outlet' 是 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的 '@NgModule.schemas' 以禁止显示此消息。

<router-outlet>标记用于app.component作为主要内容的占位符。但是当我像这样在主应用程序模块中设置路由时它可以工作

这将迫使我在app.module. 它需要跨不同模块导入我的所有组件,这对我来说似乎是一团糟。我想在子模块本身中设置路线。最好的解决方案是为每个模块自动添加前缀(如第一个模块的 module-a)。

0 投票
2 回答
16025 浏览

angular - 在Angular2中从父模块继承导入到子模块

我制作了一个如此处所述的Angular2 应用程序。它有两个组件(A,B),由全局导入app.module。我的想法是,在 中包含共享模块app.module,所以我不需要用冗余代码来搞乱每个模块。例如,我想用FormsModule. 所以在app.module我有

但是在 A 模块中,我得到了Can't bind to 'ngModel' since it isn't a known property of 'select'.似乎是由于缺少FormsModule. 只有当我FormsModule也使用imports: [FormsModule]. 这正是我想要避免的。

根据这个问题,我尝试AppModule在子模块A中导入。这不起作用并给我异常Exception: Call to Node module failed with error: Error: Unexpected value 'undefined' imported by the module 'AModule'

如何将导入继承到子模块?我也需要这个来做管道。

0 投票
1 回答
2693 浏览

angular - Angular2嵌套子路由找不到路由匹配

我有一个带有一些按钮的菜单,当用户单击菜单时,该页面被定向到另一个页面,其中包含指向另一个页面的链接的按钮列表。

因此我的路由看起来像这样:

所以用户最初的 URL 是:

components/departments/informatics

当用户单击页面内的任何按钮时,应将其定向到带有参数的模块页面。例如:

components/departments/informatics/modules

这是我如何做路由器链接:

我得到:Error: Cannot match any routes. URL Segment

我究竟做错了什么?

0 投票
0 回答
854 浏览

angular - loadChildren 找不到模块(延迟加载模块)

我正在尝试实现延迟加载模块,但出现错误。我的proest使用System.js,可能我指出方法有误,它是如何计算的?

我的 app.module.ts:

我的 user.module.ts:

我的用户路由器.module.ts:

这里的结构和错误:

我的项目结构: 错误

谢谢!