ng2-bootstrap 在 Angular 2 中不起作用(“alert”不是已知元素:)

2024-06-26

我已经通过以下方式在运行 Angular 2.0.1 的项目上安装了 ng2-bootstrap:

npm install ng2-bootstrap --save

我已经这样设置我的项目:

    //systemjs.config.js
    (function (global) {
    System.config({
        paths: {
            // paths serve as alias
            'npm:': 'node_modules/'
        },
        // map tells the System loader where to look for things
        map: {
            'moment': 'node_modules/moment/moment.js',
            'ng2-bootstrap/ng2-bootstrap': 'node_modules/ng2-bootstrap/bundles/ng2-bootstrap.umd.js',
            // our app is within the app folder
            app: 'app',
            // angular bundles

And:

// app.module.ts
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
import { Ng2BootstrapModule } from 'ng2-bootstrap/ng2-bootstrap';
import { AppComponent }  from './app.component';
import { ClientModule } from './client/client.module';

@NgModule({
    imports: [
       Ng2BootstrapModule

    ],
    declarations: [
       AppComponent
    ],
    schemas: [ CUSTOM_ELEMENTS_SCHEMA ],
    providers: [
        NotificationService,
        { provide: LocationStrategy, useClass: HashLocationStrategy }
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

And:

// client.module.ts
import { Ng2BootstrapModule } from 'ng2-bootstrap';

@NgModule({
    imports: [
        Ng2BootstrapModule
    ],
    declarations: [

    ],
    providers: [

    ]
})
export class ClientModule { }

最后:

// client-info.component.ts
import { Component, OnInit, OnDestroy } from '@angular/core';
import { AlertComponent } from 'ng2-bootstrap/ng2-bootstrap';

@Component({
    selector: 'client-info',
    template: `
    <div >
        <alert type="success">hello</alert>
    </div>
    `,
    styleUrls: ['app/client/client.css']
})

export class ClientInfoComponent {
    constructor() {

    }

   ngOnInit(): void { }

   ngOnDestroy(): void {

    }
}

但在浏览网站时出现以下错误:

未处理的 Promise 拒绝:模板解析错误: “alert”不是已知元素: 1. 如果“alert”是 Angular 组件,则验证它是否是此 > 模块的一部分。 2. 如果“alert”是 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的 >“@NgModule.schemas”以抑制此消息。 (“

[错误->]你好

我显然在这里做错了什么,但是什么呢?


dilvish.john 的答案对我有用,除了在我的 component.ts 中我必须输入

import { AlertModule } from 'ng2-bootstrap/alert';

但我不明白背后的逻辑:为什么在 app.module 中,我们必须导入“ng2-bootstrap/ng-2bootstrap”,而在组件中我们必须导入“ng2-bootstrap/alert”?

1-自从我们将 Ng2BootstrapModule 导入到 app.module 中后,它不是可用于所有组件吗?因此 AlertModule 应该可用而无需明确指定

2-如果我们应该在组件中显式地执行此操作,我们不应该使用import from 'Ng2BootstrapModule/alert'?

谢谢你,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ng2-bootstrap 在 Angular 2 中不起作用(“alert”不是已知元素:) 的相关文章

随机推荐

  • 使用 DirectRunner 测试数据流并获得大量 verifyUnmodifiedThrowingCheckedExceptions

    我正在使用 Mac 上的 DirectRunner 测试我的数据流管道 并收到很多这样的 警告 消息 我是否知道如何摆脱它们 因为它太多了 我什至看不到我的调试消息 Thanks Apr 05 2018 2 14 48 PM org apa
  • 项目展开时自动调整列大小

    在具有多列的树中 如何在展开 折叠和数据更新时调整列的大小以适应内容 类似的解决方案表格问题 https stackoverflow com questions 3186340 swt table auto resize all colum
  • 如何开始在 J2ME 中进行 Blackberry 编程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何配置和采样英特尔进程内性能计数器

    简而言之 我试图在用户级基准测试进程中实现以下目标 伪代码 假设 x86 64 和 UNIX 系统 results for iteration 0 iteration lt num iterations iteration pctr sta
  • 对模型使用 Zend_Autoloader

    有人知道如何使用 新 Zend Autoloader 来加载模型吗 目前我的配置如下所示 应用程序 ini Autoloader Namespace autoloadernamespaces 0 Sl Bootstrap php Start
  • 交错立体声 PCM 线性 Int16 大端音频是什么样的?

    我知道网上有很多资源解释如何解交错 PCM 数据 在我当前的项目过程中 我已经研究了其中的大多数 但我没有音频处理的背景 而且我很难找到关于如何处理的详细解释exactly存储这种常见的音频形式 我确实知道我的音频将有两个通道 因此样本将以
  • 使用批处理从文本文件中提取特定文本

    我正在尝试使用批处理代码从文本文件中提取特定文本 我需要从中提取数据的文件将有多行文本 并且行数会有所不同 这意味着指示器的位置也会发生变化 以下是文本文件的示例 File 1
  • 如何裁剪 JavaFX 图像并调整其大小?

    我正在尝试在 JavaFX 画布上显示非常大的图像 单张图像的分辨率为11980x8365 每个图像都有一个相应的世界文件 我可以使用它来正确定位图像 我的画布尺寸是 800x600 有时我需要在画布上写下整个图像 有时只是其中的一部分 这
  • 通过span标签动态包装js字符串,这可能会在React中危险地渲染

    我有一个字符串 我想使用 aria label 标签将 span 标签单独添加到字母表中 最终结果将在 React 中危险地呈现 请指教 这就是我所拥有的 const str D C B B const addAriaLabels str
  • 如何在 Android 中正确设置 google play 登录?

    我在安卓上开发了一个游戏 我尝试实现 GooglePlay SignIn 但显示错误 我无法调试此错误 我尝试在模拟器以外的不同手机型号中安装该应用程序 Code public void startSignInIntent startAct
  • 是否可以动态添加代码/扩展类?

    我想为我的代码编写一种 插件 模块 系统 如果我可以在定义类后将内容 添加 到类中 那么事情会变得更加容易 例如 这样的事情 class foo public function a return b 上课了 现在我想在定义后向其中添加另一个
  • 以编程方式滚动 NatTable

    关于 stackoverflow 的第一个问题 类似的问题here https stackoverflow com questions 3531081 scrolling swt table programmatically 只有我想滚动N
  • 跟踪数据包通过内核 (linux)

    我有两台机器设置为使用 Ip Security 机器 A 我们称它们为 A 和 B 有一个套接字 该套接字绑定到本地机器上的特定 UDP 端口 并且它经常轮询它以查看是否收到任何内容在上面 当我禁用 IP 安全性时 两台机器之间的数据可以正
  • 如何将 SQL 中的多个内联接转换为 LINQ?

    我已经掌握了 LINQ to SQL 的基础知识 但我一直在努力尝试让 JOIN 正常工作 我想知道如何将以下内容转换为 LINQ to SQL 最好使用方法链接 因为这是我的首选格式 SELECT c CompanyId c Compan
  • 将行转换为 pandas 中逗号分隔的字符串

    我有一个熊猫数据框 from pandas import DataFrame import pandas as pd df2 DataFrame a one one two two three two one six b x y z y x
  • .NET:为什么不检查枚举的范围/值?

    这一直困扰着我 也许对 NET 内部结构有一定了解的人可以向我解释一下 假设我定义一个枚举如下 public enum Foo Eenie 1 Meenie 2 Miney 3 Moe 4 现在 还假设我的代码中的某处有以下代码 int b
  • 如何去掉所有标签并得到纯文本?

    我必须将用户输入文本存储在我的数据库中HTML and CSS格式 案例是 Rad编辑器 http www telerik com products aspnet ajax editor aspx 用户将文本从 MSWord 复制到此编辑器
  • 如何在后续几代中禁用派生类中的设计器

    为了禁用类中的组件设计器 只需向其添加 System ComponentModel DesignerCategory 属性很简单 但是它不适用于任何一代中从此类派生的任何类 例如 System ComponentModel Designer
  • 指定自定义序列化程序时,错误详细信息未反序列化

    我正在使用自定义XmlObjectSerializer在我的应用程序中 为此 我替换XmlSerializerOperationBehavior with MyOperationBehavior看起来像这样 public class MyO
  • ng2-bootstrap 在 Angular 2 中不起作用(“alert”不是已知元素:)

    我已经通过以下方式在运行 Angular 2 0 1 的项目上安装了 ng2 bootstrap npm install ng2 bootstrap save 我已经这样设置我的项目 systemjs config js function