问题标签 [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 - 具有私有嵌套 DI 上下文的 Angular2 模块
我知道 Angular2 默认的 DI 上下文策略是为了丰富应用程序范围的依赖注入上下文。但我希望有些Injectables
不能在全球范围内使用。
这是我要实现的目标的具体示例。
可能有一个文档解释了如何做到这一点,但我找不到它。
我想创建一个将公共/导出服务与私有服务区分开来的 ServiceModule。
目标是使用依赖注入,以便PubliclyExportedService
可以使用PrivateService
,但之外的任何类ServiceModule
都不能注入PrivateService
.
任何帮助是极大的赞赏
angular - Angular 2 可以在发送参数时延迟加载模块?
我正在尝试延迟加载模块,同时还发送参数。
基本上我想在发送参数时延迟加载这个模块:venuedetail/40 <-这个数字代表一个ID。
这是我延迟加载的模块:
这是延迟加载模块的路由配置。
url 更改为 placedetail/40 ,但组件从未初始化。
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 那么它会给我另一个错误。我显然只能提供这项服务。
这里的正确方法是什么?我该如何进行这项工作?
angular - 导入角度组件以在所有模块中可用
我最近开始玩 angular 2,到目前为止我的经验非常棒。ng1
我也有一些很好的经验React
。所以,这更像是一个普遍的问题,也是一个困惑。我很确定这会帮助很多其他人,而且我还没有真正找到任何直接的答案。
所以假设我有这个module
protected.module.ts
,我注册了一些组件。因此,为了使用原始指令ngFor, ngIf
,我必须将其导入CommonModule
特定模块,但与此同时,我必须将其导入主入口模块,即app.module.ts
.
app.module.ts
受保护的模块.ts
app.module
所以,我的困惑是,如果我们想在我们最终拥有的所有模块中使用该模块,是否有一种方法可以全局导入某个模块?通过这种方式,对我来说,我们需要将它导入到不同的地方,这似乎是一种大修。还是我在这里完全遗漏了一些观点?
提前谢谢你,我真的希望这对我和其他人都有好处。
angular - Angular2 - 未在同一模块中声明时指令不起作用
我有一个指令,我想在多个模块中使用它。在每个模块上声明它会产生错误。因此,我尝试在共享模块中声明它并将这个共享模块导入其他模块。但是,它没有用。它仅在组件自己的模块上完全声明时才有效。
这是我的SharedModule
:
我想使用的模块ModalDirective
:
在MyComponent
组件中:
modal
in MyComponent
is undefined
(even in ngAfterViewInit
) ifModalDirective
没有声明 in MyModule
。任何人都知道如何解决这个问题?
angular - 创建 angular2 模块时
我想写一个只有在登录后才能访问用户的新闻网站。我可以把所有东西都写进去,app.module
但我想拥有漂亮的架构,我需要一个建议。
我应该为帐户创建另一个模块吗?我应该为文章创建另一个模块吗?
所以我会有
应用程序模块
文章.模块
帐户模块
这是好习惯吗?
登录后,我应该在每个请求上传递会话 ID。这样会更好吗?
app.module // + 帐户文件夹,其中将是所需的组件/服务articles.module
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)。
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'
如何将导入继承到子模块?我也需要这个来做管道。
angular - Angular2嵌套子路由找不到路由匹配
我有一个带有一些按钮的菜单,当用户单击菜单时,该页面被定向到另一个页面,其中包含指向另一个页面的链接的按钮列表。
因此我的路由看起来像这样:
所以用户最初的 URL 是:
components/departments/informatics
当用户单击页面内的任何按钮时,应将其定向到带有参数的模块页面。例如:
components/departments/informatics/modules
这是我如何做路由器链接:
我得到:Error: Cannot match any routes. URL Segment
我究竟做错了什么?