问题标签 [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 - 如何作为模块的子模块路由到模块 - Angular 2 RC 5
我正在将我正在开发的应用程序升级到最新的 Angular 2 候选版本。作为这项工作的一部分,我尝试使用 NgModule 规范并将我的应用程序的所有部分迁移到模块。在大多数情况下,除了路由问题之外,这一切都非常顺利。
我的应用程序是作为模块的组合构建的,几个模块作为父模块的子模块粘合在一起。例如,我有一个由通知模块、用户模块和电话模块组成的管理模块(例如)。这些模块的路由应该看起来像......
在路由器的早期版本中,使用“children”很容易做到这一点
在另一个文件中,作为子模块的一部分,我还将定义各个模块路由,即
这一切都很好。在升级到 Modules 的过程中,我将所有内容都移到了各自的路由文件中,所以现在这两个看起来更像这样
和
完成所有这些后,我有一个导入 userRouting 的 UsersModule,然后是一个导入 adminRoutes 和 UsersModule 的 AdminModule。我的想法是,由于 UsersModule 是 AdminModule 的子模块,因此路由将按照以前的方式工作。不幸的是,事实并非如此,所以我最终得到的用户路线只是
代替
此外,因此,新用户组件不会加载到我的管理组件的路由器出口中,这会影响我的应用程序的样式和导航。
我一辈子都想不出如何将我的 UserModule 的路由引用为我的 AdminModule 的子级。我已经尝试过用旧方法来做这件事,并得到关于两个模块中的路由的错误。显然,由于这是新发布的,围绕其中一些案例的文档有点有限。
任何人都可以提供的任何帮助将不胜感激!
angular - Angular2 RC5 跨模块提供程序/扫描
我正在开发一个目前是 Angular RC5 和 Material Design 最新的项目。并不是说最后一部分是相关的。
由于显而易见的原因,我开始创建单独的模块并远离主模块中的所有内容。但是,我需要有在所有模块之间共享的提供程序。F/EI 有一项服务,它最终连接到我们的后端系统。不同模块的 URL 等设置在不同的提供程序上。所有这些服务目前也是一个单独的 git 项目的一部分,因为我也在我们的 iOnic 应用程序和其他前端中使用它们。
那么我将如何去拥有这项服务,它在我为我的项目创建的所有模块中共享它的实例?
我还想创建一个仪表板,显示当前安装/可用模块中的“小部件”。这也取决于用户可以清楚地看到什么。Java 中的类似构造将通过组件扫描/反射来解决。在 Angular 中,我假设我会创建一个全球可用的提供程序,我可以在其中添加要放置的类型,然后在仪表板上可用?
模块的最后一部分可能很棘手,因为一切都是分开的,有人可以分享一些想法吗?它们基本上是 2 个问题,但我相信它们应该以一个非常相似的答案来解决。
编辑:
因此,就我而言,我想了解现有的路线,这与我所说的另一个问题有关,但与此有关。
我想做的是这样的
像这样的模式让我不会在主组件或 w/e 中设置我的服务中的路由。当然,我们可以在首次加载或 w/e 时执行此操作,但感觉不对。
我想其他开发人员也必须做类似的事情,但我现在看不出哪种模式适合这里。
也许已经有这样的钩子可用。我BaseModule
不会对这个模块一无所知。我的路线可选地包含某些权限值(这只是一个枚举)。在canActivate
钩子上我想检查一下,所以我觉得它应该知道路线,因为我似乎无法在canActivate
钩子中获取它并且为每个权限设置它似乎很愚蠢。
angular - 模块“AppModule”导入的意外值“MyCustomModule”
我正在尝试将我的 angular2 自定义库之一迁移到 RC.6 + Webpack。我的目录结构是:
在dev
文件夹中尝试运行应用程序。我引导我的模块:
app.module.ts
现在使用 webpack 我捆绑了我的开发应用程序。
webpack.config.js
但是当我尝试加载应用程序时,我收到一条消息:
我导入的桶文件如下所示:
myCustomLib.js
我还在github 上发现了类似主题的提示,但将其更改为:
没有帮助。我也尝试从src
目录导入模块 - 同样的错误。MyCustomModule 应该没问题,因为它以前在 systemJS 上工作得很好。
myCustomLib.module.ts:
知道这个错误的原因是什么吗?我在这里看到了类似的主题,但没有任何答案或提示有帮助。
编辑:为了使示例更简单,我已从 MyCustomModule 中删除了所有内容-同样的问题...
angular - 如何在angular2中使用sharedModule?
我有一个 angular2 组件,我想在多个模块之间共享。
所以我在 sharedModule 下面写了,
然后我将此 sharedModule 添加到多个模块中,如下所示:
app.module.ts
我也类似地将 sharedModule 添加到 generic.module.ts 中,
通用模块.ts
但是当我尝试在 generic.module.ts 的组件中使用通用组件时,我遇到了错误
模块“GenericModule”导入的意外值“未定义”
angular - 无法绑定到 FormGroup,因为它不是“form”的已知属性(FormsModule,ReactiveFormsModule 已加载)
我刚刚看到这个问题,但我仍然有同样的错误。我有一个共享模块,我将它导入到我的功能模块中。但我也尝试直接将模块导入我FormsModule
的ReactiveFormsModule
功能模块。
Angular 2.0 最终版。
我的共享模块是:
我的功能模块:
组件:
和观点:
所有路径和导入都是正确的。有任何想法吗?谢谢。
- - - [解决了] - - - -
更改[FormGroup]="loginForm"
为[formGroup]="loginForm"
:(
angular - Angular 2.0 模块“AppModule”导入的意外值“[object Object]”
当我尝试加载我的 Angular 2.0 应用程序时,出现以下错误:(索引):21 错误:错误:模块“AppModule”导入的意外值“[object Object]”
应用模块
键入启动脚本
如果我从导入中删除“路线”,登录页面会加载但没有任何错误。我怀疑路由中的错误,因为如果我删除 AppModule 中的“路由”,登录页面会正确加载。我尝试了很多更改,但我无法确定问题的原因。任何帮助,将不胜感激。
angular - 从 Angular2 模块导出时遇到问题
我是 Angular 2 的初学者,正在尝试了解如何从功能模块中导出类,并将其导入到我的主模块中。
当我尝试在 typescript 中编译它时,我收到以下两个错误:
app/app.component.ts(11,21):错误 TS2304:找不到名称“AddService”。
app/app.module.ts(4,9):错误 TS2305:模块“C:/angular/app/add/arithmetic.module”没有导出成员“AddService”。
我的树很简单:
有趣的部分如下:
app.module.ts:
app.component.ts
算术模块.ts
添加.service.ts
这真的很令人沮丧,因为
1) 我正在导出 AddService——它被标记为“导出”,并且在 ArithmeticModule 中我使用@NgModule 元数据将其标记为导出。
2) 我正在从我的主模块中导入 [据称] 导出的 AddService 类,因此 AddService 应该是可用的,因为它是从 ArithmeticModule 导出的
如果我直接从组件中导入 AddService,它工作正常,但这不是我想要的:我想从我的主模块导入类,并利用该模块的导出,就像我们对 Angular 的模块所做的那样(例如,BrowserModule 和 FormsModule)。@NgModule 的文档说我们应该能够做到这一点 - 从我的功能模块导入一次,进入我的主模块,然后它可以在整个主模块中使用。
有人可以告诉我我做错了什么吗?还是我误解了应该使用哪些模块?
angular - 角度 2 导入自定义模块返回错误
我在尝试导入自定义模块时遇到此错误
zone.js:269 未捕获的错误:模块“AppModule”导入的意外值“[object Object]”
这是我的 app.module.ts
这是我要导入的外部文件
我正在使用 Angular Class 的 Angular 2 starter webpack,目前正在运行“webpack”:“2.1.0-beta.22”
angular - Angular 2 Starter Webpack 在捆绑期间丢失了@NgModule 装饰器
嗨,我写了一个 Angular 2 sdk 来方便访问我们的后端服务。Github
现在我在各种流行的模板上对其进行测试,并且在捆绑过程中angular2-webpack-starter的模板发生了一些奇怪的事情。
它“松动”或无法识别 @NgModule 装饰器并抛出
模块“AppModule”导入的意外值“[object Object]”
有趣的是,sdk 与akveo 的 ng2-admin 一起工作,它建立在 angular2-webpack-starter 之上
下面是一些注释代码片段来说明我的问题
这是自定义模块,它初始化并提供sdk的依赖项。然后在 app.module.ts 中我可以运行
我比较了来自 angular2-webpack-starter 和 ng2-admin 的 webpack 配置文件。它们几乎相同,没有特别弹出。
如果我注释掉@NgModule Decorator,ng2-admin 中会显示相同的错误,因此我怀疑它在捆绑过程中没有加载或丢失。也遵循错误链建议相同
sdk 也适用于 angular-cli beta15。