首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bootstrap-datepicker不会被requirejs填充

bootstrap-datepicker不会被requirejs填充
EN

Stack Overflow用户
提问于 2013-02-26 17:30:06
回答 2查看 5.9K关注 0票数 5

我正在用backbone.js + require.js构建一个应用程序。我想在我的应用程序中使用datepicker:datepicker

因为它不是AMD,所以我将它放入如下的requirejs:

代码语言:javascript
复制
require.config({
baseUrl: "appjs",

paths:{
    jquery: '../layout_assets/assets/js/libs/jquery-1.8.2.min',
    dt: '../layout_assets/plugins/datatables/jquery.dataTables.min',
    dtPlugins:'../layout_assets/plugins/datatables/dtplugins',
    dtBootstrap: '../layout_assets/plugins/datatables/dataTables.bootstrap',
    underscore: '../assets/js/underscore-min',
    Backbone: '../assets/js/backbone-min',
    bootstrap: '../assets/js/bootstrap.min',
    datepicker:'../layout_assets/bootstrap-datepicker'
    },

    shim: {
        underscore:{
            exports:"_"
        },

        Backbone:{
            deps: ['underscore','jquery'],
            exports: "Backbone"
        },

        dt: {
        deps:['jquery'],
        exports: "dt"   
        },

        dtPlugins: {
            deps:['jquery','dt'],
            exports:"dtPlugins"
            },
        bootstrap: {
        deps:['jquery'],
        exports:"bootstrap"

        },
        dtBootstrap: {
            deps: ['dt','jquery'],
            exports: "dtBootstrap"
        },

        datepicker:{
        deps:['jquery','bootstrap'],
        exports:"datepicker"
        }

        }

});

现在,在我的一个视图中,我这样调用datepicker:

代码语言:javascript
复制
define(['Backbone',
        'underscore',
        'jquery',
        'datepicker',
        'models/reports',
        'dtBootstrap',
        'bootstrap',
        'text!templates/reports/dashboard.html',
        ],function(Backbone,_,$,dp,report,dtBootstrap,bootstrap,dashboard){


        var view=Backbone.View.extend({
            el:"#content-wrap",
            template:_.template(dashboard),
            render:function(){
            this.$("#container-left").html(this.template());
            console.log(dp);
            }

    });
    return view;
    });

这将在控制台上返回undefined。我猜这个库没有得到适当的垫片。

EN

回答 2

Stack Overflow用户

发布于 2014-05-16 01:37:21

这是我使用的填充程序:

代码语言:javascript
复制
"datepicker" : {
    deps: ["jquery-ui", "bootstrap"],
    exports: "$.fn.datepicker"
}

代码语言:javascript
复制
"datepicker": "lib/datepicker/js/bootstrap-datepicker"
票数 5
EN

Stack Overflow用户

发布于 2013-02-26 18:24:32

查看datepicker的源代码,它看起来实际上并没有导出任何东西--这就是为什么requirejs找不到要“连接”到的全局dt变量(如果在浏览器环境中运行,则为window.dt)。根据datepicker的网站,它只是将其函数添加到jQuery对象中,而不应该将其用作独立的实例。示例来自其docs page

代码语言:javascript
复制
$('#dp5').datepicker()
  .on('changeDate', function(ev){
    if (ev.date.valueOf() < startDate.valueOf()){
      ....
    }

});

你有没有试过这样的东西?

我相信在这种情况下垫片是不必要的。

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

https://stackoverflow.com/questions/15085504

复制
相关文章

相似问题

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