我正在尝试使用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有时刻和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>
错误消失了,但下拉列表的样式仍然无法加载。浏览器单独呈现按钮和列表。在演示和快速启动时,标签没有被提及,所以我想它无论如何都是错误的。
答案 0 :(得分:0)
有以下步骤:
1)安装ng2-bootstrap
和moment
包:
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)将bootstrap 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>
您可以在 the Plunker
上看到已完成的示例