【问题标题】:RequireJS and Bootstrap (Navbar) DropdownsRequireJS 和 Bootstrap (Navbar) 下拉菜单
【发布时间】:2015-07-30 12:10:05
【问题描述】:

我最近将 Durandal 集成到我的项目中,并且运行良好。但是,我确实遇到了 navbar 中的引导下拉菜单不起作用的问题。我通过添加以下 JavaScript 解决了这个问题:

$(document).ready(function () {
    $('a[data-toggle=dropdown').dropdown();
});

我很好奇这是否是预期的解决方案,或者我只是在解决这个问题而忽略了一个潜在的问题。在集成 Durandal 之前,navbar 在没有此代码的情况下运行良好,就像我之前在许多其他项目中所做的一样。

【问题讨论】:

    标签: twitter-bootstrap twitter-bootstrap-3 requirejs durandal


    【解决方案1】:

    Durandal 的方法是将您的小部件设置代码(在本例中为 Bootstrap jQuery)放在模块的 attachedcompositionComplete 挂钩中。逻辑是 Durandal 不知道您在 UI 中使用了哪些附加小部件,因此您必须告诉它。这些钩子只是为了这个目的而在框架内方便地提供。 Durandal 完成绑定和附加视图后,运行一些自定义代码来美化 UI。这与 $(document).ready() 为 jQuery 所做的概念相同。

    // this code assumes that jQuery is loaded globally
    define(function(require){
      var vm = {
        //...
      };
    
      vm.attached = function() {
        $('a[data-toggle=dropdown').dropdown();
      };
    
      return vm;
    });
    

    Reference: Interacting with the DOM

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 2017-03-06
      相关资源
      最近更新 更多