问题标签 [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.
asp.net-mvc - 如何在 Angular2 + ASP.NET MVC 应用程序中隐藏特定用户角色的 angular2 模块实现?
在应用程序中,我应该确保特定的用户角色看不到某些为其他用户角色设计的组件实现(管理员必须看到所有内容,而用户不应该看到管理员特定的东西)。
最好的做法是什么?
当前解决方案:
在我的asp.net mvc
应用程序中,我有systemjs.config.js
指向Main
引导整个angular2
应用程序的角度模块的文件。
我确实有模块:
我不想User
看到AdminSpecificComponentsModule
. html模板、js...
所以我使用2个systemjs.config.js
文件。而不是具有 2和的单个Main
模块入口点,其中不注入.MainAdmin
MainUser
MainUser
AdminSpecificComponentsModule
每个用户角色都有 int 自己的MVC View/Controller
(称为工作场所),在适当的地方systemjs.config.js
被引用。
和
在生产环境中,我们必须为每个用户角色分别绑定 JS、HTML,并确保User
不能为Admin
角色提供捆绑包。
使用该技术堆栈是否有更聪明的方法来做这样的事情?
提前致谢
angular - Angular2多个组件不同的导入
我对 Angular2 很陌生,我正在尝试修改模板。基本上,默认情况下,所有视图都嵌套在带有 Header、Footer 和 TopNavbarModule 的模板中。
我试图避免为某些视图组件导入这些模块。
所以我已经构建blank.component
并导入了它,app.module
但我仍在导入我不想要的 3 个视图模块app.module
,否则它们根本不会被导入(“空白”页面或“其他”页面都不会)。
我认为也许我必须在其中声明另一个NgModule
或app.module
创建一个单独的blank.module - 有什么想法吗?
的定义app.module
的定义blank.component
angular - Angular2 管理大量组件
我正在研究 Angular2。我们知道我们需要 在主模块中配置所有providers
, components
, 。services
可能是我们有大量components
并手动配置它的情况。例如,考虑以下module
我需要在routes
某种程度上配置相同cubersome
的内容 配置大量组件而无需大量复制粘贴的正确方法是什么?
另外,我相信应该有多个模块。您有什么建议或正确的做法?
angular - Angular 中的嵌套模块不好吗?
我对模块有些疑惑。不久前我开始使用 Angular 2,所以我搜索了太多的主题,但我还没有找到任何令人满意的答案。
当我们创建 Angular 2 应用程序时,肯定会使用模块。当然也使用嵌套模块。我们可以使用多少个嵌套模块?这是可行的还是嵌套模块有限制?
例如,假设我有管理仪表板应用程序。我们可以这样建造吗
我们可以肯定地用这种方式构建。但是假设我们有 5 个或更多嵌套模块,是否可以用于 Angular 应用程序?会导致任何问题或导致任何性能问题吗?或者我们应该保持简单(最多 3 个嵌套等)以进行练习?
此外,当嵌套模块和组件增加时,tsc 的行为如何?
总结一下嵌套模块的优缺点等,嵌套模块结构的最佳实践是什么?
angular - 每个组件 angular 4 提供服务的好坏?
实际上,我有两个关于 Angular 4 最佳实践的问题。
- 我有一个名为 的服务
RemoteService
,它负责 XHR 调用。我想在RemoteService
. 所以我想,最好按组件级别提供该服务。因为我不希望服务的每个方法都通过参数获取组件实例。但是,为每个组件提供服务是好是坏?顺便说一句:RemoteService
将在数百个组件中使用。 - 我正在尝试遵循 Angular的样式指南。我应该放在哪里
RemoteService
?共享功能模块还是核心功能模块?。它的目的似乎是ExceptionService
和LoggerService
。但这不是我上面解释的单例服务。这可能取决于问题1的答案。
angular - Angular 2 Webpack 模块问题 - 由于基类,构建失败
在将一些组件从一个模块移动到另一个模块后,我在加载 Angular 2 应用程序时遇到问题。我的猜测是我在代码本身中做错了,但是我得到的错误没有帮助,我不知道这是否是 Angular 或 Webpack 的问题。
加载应用程序时出错:
那是我在加载应用程序时遇到的错误。我知道这个问题在某种程度上与应用程序中的服务有关,但我不确定发生了什么。这是应用程序失败的地方:
是什么导致了这个问题?
我的应用程序中有四个模块:
- 应用模块
- 核心模块
- 共享模块
- 功能模块
我的目标是遵循关于模块的 Angular指南。前段时间我设置了上面列出的模块,我注意到我错误地使用了 CoreModule。除了提供要在应用程序中使用的服务之外,我还在这个模块中放置了“通用”/“可重用”组件。
在阅读了专门关于功能模块的常见问题解答后,我开始着手将这些组件移至 SharedModule。现在,这些组件中的大多数都使用了 CoreModule 中的服务。一旦我将这些组件移动到 SharedModule 并更新了必要的代码,我就开始遇到这个问题。
目前我拥有的模块是通过以下方式设置的:
- AppModule 与 CoreModule 和 FeatureModule 一起导入必要的模块
- CoreModule 提供要在应用程序中使用的服务
- SharedModule 声明和导出通用组件
- FeatureModule 声明要在特定功能中使用的组件
我不确定我是否在错误的位置导入了错误的模块,但我无法弄清楚为什么我会收到这个错误,仅仅是因为我将一个组件从一个模块移动到另一个模块。我无法真正理解使我难以理解错误所在的错误。
设置版本:
- 角度:4.0.1
- 网络包:2.3.3
- 打字稿:2.2.2
进一步的调查
如上所述,在当前设置中,我在一个 CoreModule(核心文件夹)中的整个应用程序中使用了大部分服务。使用这些服务的组件位于 SharedModule(共享文件夹)中。当这些组件位于同一个模块和文件夹中时,一切都按预期工作。
现在,当我在 SharedModule 中移动这些组件时,起初我遇到了类似于此处描述的错误,但我之前已经遇到过这种情况,我只是更改了import
s 我必须直接引用服务而不是桶。一旦我更改了这些导入,我就会得到上面显示的错误。我再次迷失了问题所在,我无法理解错误,我所做的更改是将组件移动到另一个文件夹和模块到服务所在的位置。我怀疑以某种方式创建了循环依赖,但我不确定。
angular - Angular2延迟加载的“找不到模块”
在结合延迟加载实现路由时遇到问题。
我的代码可以在这里找到:https ://github.com/ahartvign/NetCoreDemos
每当我尝试导航到延迟加载的路线“跟踪”时,我都会收到错误消息:
找不到模块“./trackers/trackers.module”
我为 loadChildren 尝试了多个不同的值:
以上所有内容都使用默认导出而不是#TrackersModule。
我也尝试过重新启动我的服务器,因为显然有些人遇到了问题。
angular - 延迟加载嵌套模块和路由
我在延迟加载的模块中路由有问题。
这是我的“根”路线:
所以我对我的应用程序的期望是将空路径重定向到/admin
- 这工作正常,模块已加载。
在 AdminModule 我得到了另一个重定向:
这里我有两个场景:
- 如果用户通过身份验证重定向到
app
- 所以整个路径将是/admin/app
- 否则重定向到
login
- 所以整个路径应该是/admin/login
最后在管理应用程序中路由:
现在问题开始了。如果我将使用 url 进入我的身边,localhost:3000/admin/app/(*)
一切都按预期工作,则调用 AuthGuard,url 没问题,以防用户未经身份验证,他会重定向到登录页面。
但是!:如果我将进入localhost:3000
应用程序会将我重定向到localhost:3000/admin/home
(app
丢失)并且不会调用 AuthGuard。看起来Angular正在省略admin-routing.module
并直接转到最后一个。
是什么原因?我该如何解决?
angular - Angular 4.0.0 找不到引导代码
错误:尝试查找引导代码,但指定可静态分析的引导代码或将 entryModule 传递给插件选项。
main.ts
我正在使用 angular-cli。使用 angular v2.3.1,此代码运行良好。
我想获取 json 并将其传递给 @Ngmodules 提供者
angular - Angular 2 + Lazyloaded Module 被导入的模块覆盖
我想知道如何在不优先于父模块的情况下导入模块。我试图了解为什么我的导入模块会覆盖父模块条目组件。我将 导入QuotesModule
到 myCompaniesModule
中,以便它的组件可用于我的CompaniesModule
. QuotesModule
如下所示导入时:
CompaniesModule (lazyloaded)
...并且我尝试导航到CompaniesComponent
路由,QuotesModule
条目组件改为解析。任何见解将不胜感激!
这是我的QuotesModule
路线和 NgModule: