angular - 尝试移植 ng-bootstrap 示例,但 ngbDropdownToggle 工作
问题描述
我是 Angular 和 Bootstrap 的新手,所以如果这个问题有点基本而且有点广泛,请提前道歉。
出于测试/学习目的,我正在尝试将来自https://ng-bootstrap.github.io/#/components/dropdown/examples"Mixed menu items and form 'Toggle Dropdown'"
的Stackblitz 示例移植到我的新项目中,虽然我可以获取要呈现的 HTML,我无法切换下拉按钮。
我尝试了两种方法:
我创建了一个项目,然后将 Stackblitz 集合中的相关 src/app 文件复制到项目的 src/app 文件夹中(即 ,
app.component.html
,app.component.ts
,app.module.ts
,dropdown-form.html
)dropdown-form.ts
。在这种方法下,HTML 呈现,但下拉菜单没有切换。作为第二次尝试,我尝试将整个 Stackblitz 集合复制到它自己的文件夹中,并尝试在其上运行
ng serve
。在这种方法下,没有编译任何东西,并且有很多错误消息,从Could not find module "@angular-devkit/build-angular" . . .
我有一个特别的问题是ngbDropdownToggle
指令在哪里?
即,来自dropdown-form.html
:
<button class="btn btn-outline-primary" id="dropdownForm1" ngbDropdownToggle>Toggle dropdown</button>
在 Stackblitz 上,我注意到 package.json 中有一个"@ng-bootstrap/ng-bootstrap"
对Module not found: Error: Can't resolve '@ng-bootstrap/ng-bootstrap'
. 我的工作假设是我的原始项目缺少一些关键的ng-bootstrap
导入/功能,但我不确定这是否正确,如果是,我该如何添加必要的导入/功能?
如果有人对我如何移植 Stackblitz 文件并使下拉切换工作有任何想法,请提前非常感谢。. .
解决方案
要让它在 stackblitz 上运行,您需要添加一个依赖项@ng-bootstrap/ng-bootstrap
(查看下面的屏幕截图)
让它在你的电脑上工作,你做npm install --save @ng-bootstrap/ng-bootstrap
此外,您需要<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
在 index.html中使用 boostrap css
推荐阅读
- ios - 自定义 UITableViewCell 选择
- clojure - clojure中Select查询的批处理
- python - 使用 sys.exit(或提高 SystemExit)有什么意义?
- oracle - oracle的Kafka JDBC源连接器不起作用
- xamarin.forms - Xamarin.Forms 如何根据一天中的时间更改主题
- c - 错误:生成多个输出文件时无法指定 -o
- salesforce - 如何在 Salesforce 中使用 sql 查询关闭机会和关闭谁?
- elasticsearch - 我可以在 kibana 中创建一个插件,在 kibana 仪表板内的小部件菜单中为我提供“下载为 csv 选项”吗?
- r - 根据条件替换字符串中的匹配模式
- c - mq_open 的 oflag 参数不反映创建的 mqueue 文件的实际访问位