首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ember-bootstrap插件中加载bootstrap.min.js

如何在ember-bootstrap插件中加载bootstrap.min.js
EN

Stack Overflow用户
提问于 2020-07-23 15:12:55
回答 1查看 32关注 0票数 1

我遇到了一个关于ember-bootstrap插件的问题。我已经下载并安装了它,就像在他们的安装页面上提到的那样,这里写着:https://www.ember-bootstrap.com/getting-started/setup

安装完成后,我已经直接开始使用导航栏了--但用的时间不长。在折叠时与浏览器导航栏交互的Hamburgermenu没有打开。我发现bootstrap.min.js没有导入/加载。因此,我在索引文件中为为我提供bootstrap.min.js的cdn创建了一个额外的条目。

现在我的问题是,ember bootstrap插件是否提供了这个bootstrap.min.js,而我犯了一个错误,或者这(只在索引文件中加载js )已经是最佳实践了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-23 17:25:08

ember-bootstrap没有使用Bootstrap的JavaScript。

相反,它提供了自己的由Ember驱动的交互组件。

导航栏的折叠/展开状态由collapsed参数控制。这是一个从父组件传递到导航栏的外部值,如下所示:

代码语言:javascript
复制
<BsNavbar
  @collapsed={{this.isNavbarCollapsed}}
>

单击汉堡菜单时,导航栏将触发onCollapseonExpand操作。这些操作也应该由父模板提供:

代码语言:javascript
复制
<BsNavbar
  @collapsed={{this.isNavbarCollapsed}}
  @onCollapse={{fn this.setNavbarCollapsed true}}
  @onExpand={{fn this.setNavbarCollapsed false}}
>
代码语言:javascript
复制
class ParentComponent extends Component {
  @tracked isNavbarCollapsed = false;

  @action setNavbarCollapsed(state) {
    this.isNavbarCollapsed = state;
  }
}

ember-bootstrap导航栏的official documentation采用了一种快捷方式,并执行如下操作:

代码语言:javascript
复制
<BsNavbar
  @collapsed={{this.isNavbarCollapsed}}
  @onCollapse={{action (mut collapsed) true}}
  @onExpand={{action (mut collapsed) false}}
>

mut是Ember的一个老特性,它允许您在父模板中实现导航栏,而无需在父JS文件中编写任何内容。

PS官方文档显示为@collapsed={{true}},这是错误的。如果您使用这样的静态值,您将无法更改状态。documentation actually uses @collapsed={{collapsed}}背后的演示。根据现代Ember的指导方针,它应该写成@collapsed={{this.collapsed}}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63048793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档