- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经创建了一个类似于 Angular 文档中的突出显示指令,但是我无法在 appmodule 中导入的其他模块中使用它。以下是我的 appmodule.ts 文件:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { PrimaryNavigationComponent } from './components/primary-navigation/primary-navigation.component';
import { DashboardModule } from 'app/features/dashboard/dashboard.module';
import { ServicesModule } from 'app/features/services/services.module';
import { NotificationsModule } from 'app/features/notifications/notifications.module';
import { AboutModule } from 'app/features/about/about.module';
import { RedirectModule } from 'app/features/redirect/redirect.module';
import { HighlightDirective } from 'app/directives/highlight/highlight.directive';
@NgModule({
declarations: [
AppComponent,
PrimaryNavigationComponent,
HighlightDirective
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
DashboardModule,
ServicesModule,
NotificationsModule,
AboutModule,
RedirectModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
请帮我解决这个问题。
最佳答案
Angular 模块系统乍一看可能会令人困惑,但一旦习惯了它就会非常简单。
有一些简单的规则需要遵循:
这就是你错了 - 你必须从声明它的模块中导出你的HighlightDirective,以使其可以在其他模块中使用。
但是,就您而言,您的 AppModule 已经依赖于您的功能模块(您将功能模块(例如 DashboardModule、ServicesModule 等)导入您的 AppModule)。 Angular 不喜欢循环引用,因此您不能让 AppModule 导入功能模块,然后让该功能模块反过来并尝试导入 AppModule。
因此,解决您问题的总体解决方案是将您想要跨多个模块使用的可声明项(组件/指令/管道)移动到新模块(例如 SharedModule)中,从该 SharedModule 导出这些可声明项,然后让您的 AppModule并且功能模块导入 SharedModule。
关于 Angular 4 : How to inject directives declared in bootstrapped module(appmodule) in other modules that are imported in the appmodule?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43344999/
我仅在 Kitkat 设备上遇到此崩溃。我的 logcat 在下面。在 getViewModel 处崩溃 Fatal Exception: java.lang.NoClassDefFoundError
我对 Angular 和 .net Core 还很陌生。我正在编写代码来执行 CRUD 操作。我的一个获取项目组件中有以下代码。 import { Component } from '@angular
我对 Angular 和 .net Core 还很陌生。我正在编写代码来执行 CRUD 操作。我的一个获取项目组件中有以下代码。 import { Component } from '@angular
我已经实现了一个拦截器来添加我可以制作 seucred api 的授权 header 。当我在任何应用程序模块中注入(inject)此服务时出现错误//"无法实例化循环依赖!HttpClient ("
I have added this code into my app.module.ts providers: [ AppConfigService, {
我已经创建了一个类似于 Angular 文档中的突出显示指令,但是我无法在 appmodule 中导入的其他模块中使用它。以下是我的 appmodule.ts 文件: import { Browser
我正在阅读有关模块的 Angular 文档,寻找不鼓励在 AppModule 中导入 SharedModule 的行。 我没有找到任何关于此的内容,只是一个 GitHub 问题,指出最好不要导入它。然
我正在尝试将 AngularDart 应用程序放在一起,并且我会在文档中来回切换。 在 AngularDart 官方网站架构页面中,它谈到了最重要的 AppModule AngularDart Arc
我正在开发 Angular 6 项目。自最近几天以来,我陷入了以下问题。请指导。 我的程序基于惰性路由并且也有动态路由。以下代码是我的app-routing.module.ts: const rou
我一直在使用在线教程并创建了一个“还行”的 SPA 数据输入应用程序。 我可以很好地连接到我的 WEB API,但只构建了一个模型,我的 AppModule 已经有几行了。 我正在考虑并使用当前的方法
Angular 2+ 通过以下方式注册提供者: // @NgModule decorator with its metadata @NgModule({ declarations: [...],
我不明白为什么当我有了新的提供商时,我一次又一次地遇到这个错误。当我有任何其他提供商(如地理定位等)时,我遇到此错误: Error: Uncaught Error: Invalid provider
我才刚刚开始学习如何使用 Angular 2 和 Ionic 3.20.0,但现在面临挑战。我正尝试在我的主页中显示产品图片,但该应用程序抛出此错误 ERROR Error: Uncaught (in
如何从延迟加载的模块访问 AppModule 导入? 我的 Angular 10 应用导入 AngularMaterial 和 NXTranslate 模块 进入 AppModule。 NxTrans
在我的应用程序(独立)中,当我需要从 Guice 获取一些对象实例时,我通常这样做: injector = Guice.createInjector(new AppModule()); instanc
我是 Angular 的新手,我试图在具有以下目录结构的 Angular2 应用程序中分离我的模块。 我在 AppModule 中声明了我的模块和其他组件,但是我在浏览器控制台中收到一个错误 Unex
我最近更新了 2.4.1 版本。 "@angular/common": "~2.4.1", "@angular/compiler": "~2.4.1", "@angular/compiler-cli"
我正在尝试在我的 Angular 6 应用程序中实现延迟加载,我所有的 http 调用都是在 FeatureModule(延迟加载)中进行的,但我仍然必须添加 HttpClientModule 在我的
我已经搜索了很多有关此错误的信息,但没有任何有用的信息,这种错误通常有角度地告诉您缺少提供程序的对象是什么,但是这次它给出了 StaticInjectorError(AppModule)[[objec
我有以下代码 @NgModule({ declarations: [ ... ], imports: [ RoutingModule, SharedModule,
我是一名优秀的程序员,十分优秀!