【问题标题】:How can I extends a Modal in Bootstrap 4?如何在 Bootstrap 4 中扩展 Modal?
【发布时间】:2018-03-05 15:02:34
【问题描述】:

首先,我在javascript中遇到了OOP的问题,对此我了解的很少,但是我需要解决这个问题...

好吧,我正在尝试在 Bootstrap 4 上使用为 Bootstrap 3 制作的库:https://github.com/nakupanda/bootstrap3-dialog

我收到以下错误:“无法将类调用为函数”

查看代码,我发现了一些东西:

1 - classCallCheck: 是引发错误的函数。我想它会强制用户使用“new”并实例化一个对象,并且永远不会像函数一样调用;

2 - createClass:是一个构造类的函数,所以Bootstrap 4中的类没有按惯例定义。

3 - 继承:是另一个函数,表明继承也不是常规的。

4 - 该库有此代码来扩展 Bootstrap 模式:

var BootstrapDialogModal = function (element, options) {
    Modal.call(this, element, options);
};

但是,Modal.call 触发了错误:“Cannot call a class as a function”。

我想唯一的问题是 BootstrapDialogModal 继承了 Bootstrap 3 强加的继承条件中的 Modal,当 Bootstrap 4 处于活动状态时,这些条件不一样。

关注 jsfiddle:http://jsfiddle.net/g6nrnvwu/

有人知道我该如何调整这段代码吗?

谢谢。

【问题讨论】:

  • Bootstrap 4 是 Bootstrap 3 的巨大更新/重制版。发生这种情况是因为(可能)bootstrap 4 中有一个名为“Modal”的新类名存在冲突。您可以尝试用另一个名称更改该库中名为“Modal”的所有函数。也许它会起作用,除了还有更多的冲突。最好使用另一个替代库或自己制作(因为我这样做了,而且我确信更少的 3rd 方库来更快的页面加载)._.
  • 请提供jsfiddle。
  • 您收到以下错误“无法将类作为函数调用”,因为您确实不能将类用作函数。在 Bootstrap 4 中,Modal 是一个类,如果插件使用基 Modal 类,它应该扩展它。我建议您忘记使用这种组合,因为您不能只用几行来修复它(还考虑到 Modal 在通往 Bootstrap 4 的路径上被重新设计)。只有完全重写插件才能直接解决您的问题))
  • @NavjotAhuja 跟随 JsFiddle 的链接:jsfiddle.net/g6nrnvwu

标签: javascript oop twitter-bootstrap-3 bootstrap-modal bootstrap-4


【解决方案1】:

好吧,这并不完全是一个答案,而是一个可能对您有所帮助的示例。这是我用来处理模态动态插入它的标记的类。它不是 BS4,但您可以用作指南吗?

ModalUtils

【讨论】:

    【解决方案2】:

    您可以查看这个旨在将插件更新到 BS 4 的拉取请求:https://github.com/nakupanda/bootstrap3-dialog/pull/281/files?diff=unified

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多