0

我正在尝试使用来自 ng2-boostrap 的下拉组件创建一个菜单。访问索引时出现此错误:

加载资源失败:服务器响应状态为 404(未找到)

到目前为止的步骤:

1) npm install ng2-bootstrap --save。文件夹 ng2-bootstrap 是在 node_modules 下创建的

2)在 app.module.ts 我分别尝试了 Ng2BootstrapModule 和 DropdownModule

import { Ng2BootstrapModule } from 'ng2-bootstrap/ng2-bootstrap';
import { DropdownModule } from 'ng2-bootstrap/components/dropdown';

 @NgModule({
 imports: [ BrowserModule, Ng2BootstrapModule or DropdownModule ]....

3) 在我的模板 html 上

 <div class="dropdown" dropdown>
    <button class="btn btn-primary" dropdown-open>My Heroes</button>
        <ul class="dropdownMenu">
        <li><a href="#">Badman</a></li>
        <li><a href="#">Sadman</a></li>
        <li><a href="#">Lieman</a></li>
        </ul>
</div> 

我在https://valor-software.com/ng2-bootstrap/#/dropdowns上尝试了演示,但结果是一样的。

4)依赖中的package.json既有moment又有ng2-boostrap

"moment": "^2.15.1",
"ng2-bootstrap": "^1.1.5",

也许错误可能在 ng2-boostrap 的路径上,已经尝试使用标签

<script src="node_modules/ng2-bootstrap/bundles/ng2-bootstrap.min.js"></script>

错误消失了,但下拉菜单的样式仍然没有加载。浏览器分别呈现按钮和列表。在演示和快速启动中没有提到标签,所以我猜它还是错的。

4

1 回答 1

0

有以下步骤:

1)安装ng2-bootstrapmoment打包:

npm install ng2-bootstrap moment --save

2) 配置systemjs.config.js

map: {
  ...
  'ng2-bootstrap': 'npm:ng2-bootstrap',
  'moment': 'npm:moment/moment.js'
},
packages: {
  ...
  'ng2-bootstrap': {
    defaultExtension: 'js'
  }
}

3)导入DropdownModule到您的模块:

import { DropdownModule } from 'ng2-bootstrap/ng2-bootstrap';

@NgModule({
  imports:      [ BrowserModule, DropdownModule ],
  declarations: [ AppComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

您也可以Ng2BootstrapModule改用

4) 将引导 css 链接添加到您的 index.html

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

5)在您的模板html中使用它(仔细检查):

<div class="dropdown" dropdown>
  <button class="btn btn-primary" dropdownToggle>My Heroes</button>
  <ul class="dropdown-menu">
    <li><a href="#">Badman</a></li>
    <li><a href="#">Sadman</a></li>
    <li><a href="#">Lieman</a></li>
  </ul>
</div> 

所以你可以在Plunker上看到完整的例子

于 2016-10-01T07:39:49.590 回答